LoslegenKostenlos loslegen

Die Daten neu partitionieren

Es gibt ein DataFrame text_df mit den Spalten id, word und chapter. Die ersten 5 Zeilen von text_df werden in der Konsole ausgegeben.

Du kannst anhand des Folgenden feststellen, dass es 12 Kapitel gibt:

text_df.select('chapter')\
       .distinct()\
       .sort('chapter')\
       .show(truncate=False)

Das Ergebnis dieses Befehls wird als Table 1 in der Konsole angezeigt.

Das DataFrame text_df befindet sich derzeit in einer einzelnen Partition. Angenommen, du weißt, dass die nächsten Verarbeitungsschritte die Daten nach Kapiteln gruppieren. Am effizientesten ist die Verarbeitung, wenn jedes Kapitel auf einer einzelnen Maschine bleibt. Um unnötiges Shuffling der Daten zwischen Maschinen zu vermeiden, lass uns das DataFrame so neu partitionieren, dass es eine Partition pro Kapitel hat – mit den Befehlen repartition und getNumPartitions, die im ersten Video dieser Lektion behandelt wurden.

Wenn du dir nicht mehr sicher bist, wie etwas im Video gemacht wurde, schau gerne in die Folien rechts neben der Konsole.

Diese Übung ist Teil des Kurses

Einführung in Spark SQL mit Python

Kurs anzeigen

Anleitung zur Übung

  • Partitioniere text_df in 12 Partitionen neu, sodass jedes Kapitel seine eigene Partition hat.
  • Lass dir die Anzahl der Partitionen im neuen DataFrame anzeigen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)

# Prove that repart_df has 12 partitions
repart_df.____.____
Code bearbeiten und ausführen