Kom igångKom igång gratis

Fler ID-knep

När du väl har definierat en Spark-process vill du troligtvis återanvända den många gånger. Beroende på dina behov kan du vilja att dina ID:n börjar på ett visst värde för att undvika överlapp med tidigare körningar av Spark-uppgiften. Det liknar hur ID:n fungerar i en relationsdatabas. Din uppgift är att se till att ID:na från en månatlig Spark-uppgift börjar på det högsta värdet från föregående månad.

Sessionen spark och två DataFrames, voter_df_march och voter_df_april, finns tillgängliga i din miljö. Biblioteket pyspark.sql.functions är importerat under aliaset F.

Den här övningen är en del av kursen

Datarensning med PySpark

Visa kurs

Övningsinstruktioner

  • Bestäm det högsta ROW_ID-värdet i voter_df_march och spara det i variabeln previous_max_ID. Uttrycket .rdd.max()[0] hämtar det högsta ID:t.
  • Lägg till en ROW_ID-kolumn i voter_df_april som börjar på värdet previous_max_ID + 1.
  • Visa ROW_ID-värdena från båda DataFrame-objekten och jämför dem.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
____
Redigera och kör kod