LoslegenKostenlos loslegen

Noch mehr ID-Tricks

Sobald du einen Spark-Prozess definiert hast, wirst du ihn wahrscheinlich oft wiederverwenden. Je nach Bedarf möchtest du deine IDs vielleicht bei einem bestimmten Wert starten lassen, damit es keine Überschneidungen mit früheren Ausführungen der Spark-Aufgabe gibt. Dieses Verhalten ist ähnlich wie bei IDs in einer relationalen Datenbank. Deine Aufgabe ist es, sicherzustellen, dass die IDs, die aus einer monatlichen Spark-Aufgabe stammen, beim höchsten Wert des Vormonats beginnen.

Die spark-Session und zwei DataFrames, voter_df_march und voter_df_april, sind in deinem Workspace verfügbar. Die Bibliothek pyspark.sql.functions ist unter dem Alias F verfügbar.

Diese Übung ist Teil des Kurses

Datenbereinigung mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Bestimme die höchste ROW_ID in voter_df_march und speichere sie in der Variable previous_max_ID. Der Ausdruck .rdd.max()[0] liefert die maximale ID.
  • Füge voter_df_april eine Spalte ROW_ID hinzu, die bei previous_max_ID + 1 startet.
  • Zeige die ROW_IDs aus beiden DataFrames an und vergleiche sie.

Interaktive Übung

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

# Determine the highest ROW_ID and save it in previous_max_ID
____ = ____.select('ROW_ID').rdd.max()[0] + 1

# Add a ROW_ID column to voter_df_april starting at the desired value
voter_df_april = ____.withColumn('ROW_ID', ____ + ____)

# Show the ROW_ID from both DataFrames and compare
____.select('ROW_ID').show()
____
Code bearbeiten und ausführen