Kapitel 5. Partitionierung von Daten

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Partitionierung ist definiert als "der Akt des Teilens; Trennung durch die Schaffung einer Grenze, die trennt oder auseinander hält". Datenpartitionierung wird in Tools wie Spark, Amazon Athena und Google BigQuery verwendet, um die Leistung bei der Ausführung von Abfragen zu verbessern. Um Big-Data-Lösungen zu skalieren, werden die Daten in Partitionen unterteilt, die separat und parallel verwaltet, abgerufen und ausgeführt werden können.

Wie in den vorangegangenen Kapiteln dieses Buches beschrieben, teilt Spark die Daten in kleinere Teile auf, die Partitionen genannt werden, und verarbeitet diese Partitionen dann parallel (viele Partitionen können gleichzeitig verarbeitet werden) mithilfe von Executors auf den Worker-Knoten. Wenn deine Eingabe zum Beispiel 100 Milliarden Datensätze enthält, kann Spark sie in 10.000 Partitionen aufteilen, wobei jede Partition etwa 10 Millionen Elemente enthält:

  • Datensätze insgesamt: 100,000,000,000

  • Anzahl der Partitionen: 10,000

  • Anzahl der Elemente pro Partition: 10,000,000

  • Maximal mögliche Parallelität: 10.000

Hinweis

Standardmäßig implementiert Spark die Hash-basierte Partitionierung mit einer HashPartitioner, die die Java-Funktion Object.hashCode() verwendet.

Die Partitionierung von Daten kann die Verwaltbarkeit und Skalierbarkeit verbessern, Konflikte reduzieren ...

Get Datenalgorithmen mit Spark now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.