Chapitre 6. Jointures (SQL et Core)
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
La jointure de données est un élément important de bon nombre de nos pipelines, et Spark Core comme SQL prennent en charge les mêmes types fondamentaux de jointures. Ils présentent toutefois des options d'exécution et des performances très différentes. Bien que les jointures soient très courantes et puissantes, elles nécessitent une attention particulière en matière de performances, car elles peuvent nécessiter d'importants transferts réseau, voire créer des ensembles de données dépassant nos capacités de traitement.1 Dans Spark Core, il peut être plus important de réfléchir à l'ordre des opérations, car l'optimiseur DAG, contrairement à l'optimiseur SQL, n'est pas capable de réorganiser ou de pousser les filtres vers le bas.
Pour comprendre les performances des jointures dans Spark, il est important de distinguer deux concepts qui se ressemblent : les types de jointures et les techniques d'exécution des jointures. Les types de jointures ont un impact sur le résultat et comprennent notamment les jointures internes gauche et droite, les jointures externes, les jointures complètes sur soi-même, etc. Les techniques d’exécution des jointures font référence à la manière dont le moteur, Spark, calcule le résultat et peuvent être des techniques telles que la diffusion, le hachage, le tri, etc. Le type de jointure, ainsi ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access