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
Anleitung zur Übung
- Bestimme die höchste
ROW_IDinvoter_df_marchund speichere sie in der Variableprevious_max_ID. Der Ausdruck.rdd.max()[0]liefert die maximale ID. - Füge
voter_df_aprileine SpalteROW_IDhinzu, die beiprevious_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()
____