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_IDinvoter_df_marchund speichere sie in der Variablenprevious_max_ID. Die Anweisung.rdd.max()[0]wird die maximale ID erhalten. - Füge zu
voter_df_aprileine SpalteROW_IDhinzu, die mit dem Wertprevious_max_ID+ 1 beginnt. - Zeige die
ROW_ID's von beiden Datenrahmen 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()
____