Kom igångKom igång gratis

Lägga till ett ID-fält

När du arbetar med data vill du ibland bara komma åt vissa fält och utföra olika operationer. I det här fallet ska du hitta alla unika väljarnamn i DataFrame:n och tilldela varje post ett unikt ID-nummer. Kom ihåg att Spark-ID:n tilldelas baserat på DataFrame:ns partition – vilket innebär att ID-värdena kan vara betydligt högre än det faktiska antalet rader i DataFrame:n.

Tack vare Sparks lata bearbetning genereras ID:n inte förrän en åtgärd utförs, och de kan vara något slumpmässiga beroende på datamängdens storlek.

Spark-sessionen spark och en Spark DataFrame df med innehållet från filen DallasCouncilVotes.csv.gz finns tillgängliga i din arbetsmiljö. Biblioteket pyspark.sql.functions är tillgängligt under aliaset F.

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

Datarensning med PySpark

Visa kurs

Övningsinstruktioner

  • Välj ut de unika posterna från kolumnen VOTER NAME och skapa en ny DataFrame som heter voter_df.
  • Räkna antalet rader i DataFrame:n voter_df.
  • Lägg till en ROW_ID-kolumn med lämplig Spark-funktion.
  • Visa de 10 rader som har de högsta ROW_ID-värdena.

Interaktiv övning med praktiskt arbete

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

# Select all the unique council voters
voter_df = df.____(df["VOTER NAME"]).____()

# Count the rows in voter_df
print("\nThere are %d rows in the voter_df DataFrame.\n" % ____)

# Add a ROW_ID
voter_df = voter_df.____('ROW_ID', F.____())

# Show the rows with 10 highest IDs in the set
voter_df.orderBy(voter_df.____.desc()).show(____)
Redigera och kör kod