Chapitre 5. Partitionnement des données
Le partitionnement est défini comme "l'action de diviser ; la séparation par la création d'une frontière qui divise ou maintient à l'écart." Le partitionnement des données est utilisé dans des outils comme Spark, Amazon Athena et Google BigQuery pour améliorer les performances d'exécution des requêtes. Pour faire évoluer les solutions big data, les données sont divisées en partitions qui peuvent être gérées, consultées et exécutées séparément et en parallèle.
Comme nous l'avons vu dans les chapitres précédents de ce livre, Spark divise les données en morceaux plus petits, appelés partitions, puis traite ces partitions de manière parallèle (de nombreuses partitions peuvent être traitées simultanément) à l'aide d'exécuteurs sur les nœuds de travail. Par exemple, si ton entrée comporte 100 milliards d'enregistrements, alors Spark pourrait la diviser en 10 000 partitions, où chaque partition aura environ 10 millions d'éléments :
-
Nombre total d'enregistrements : 100,000,000,000
-
Nombre de partitions : 10,000
-
Nombre d'éléments par partition : 10,000,000
-
Parallélisme maximal possible : 10 000
Note
Par défaut, Spark met en œuvre le partitionnement basé sur le hachage avec un HashPartitioner, qui utilise la fonction Object.hashCode() de Java.
Le partitionnement des données peut améliorer la facilité de gestion ...
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