Mehr ID-Tricks
Wenn du einmal einen Spark-Prozess definiert hast, wirst du ihn wahrscheinlich oft verwenden wollen. Je nach Bedarf möchtest du deine IDs mit einem bestimmten Wert beginnen, damit es keine Überschneidungen mit früheren Läufen der Spark-Aufgabe gibt. Dieses Verhalten ist ähnlich wie das Verhalten von IDs in einer relationalen Datenbank. Du hast die Aufgabe erhalten, dafür zu sorgen, dass die von einer monatlichen Spark-Aufgabe ausgegebenen IDs mit dem höchsten Wert des Vormonats beginnen.
Die Sitzung spark
und zwei DataFrames, voter_df_march
und voter_df_april
, sind in deinem Arbeitsbereich verfügbar. Die Bibliothek pyspark.sql.functions
ist unter dem Alias F
verfügbar.
Diese Übung ist Teil des Kurses
Daten bereinigen mit PySpark
Anleitung zur Übung
- Bestimme die höchste
ROW_ID
invoter_df_march
und speichere sie in der Variablenprevious_max_ID
. Die Anweisung.rdd.max()[0]
wird die maximale ID erhalten. - Füge zu
voter_df_april
eine SpalteROW_ID
hinzu, die mit dem Wertprevious_max_ID
+ 1 beginnt. - Zeige die
ROW_ID
's von beiden Datenrahmen und vergleiche sie.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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()
____