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
Övningsinstruktioner
- Välj ut de unika posterna från kolumnen
VOTER NAMEoch skapa en ny DataFrame som hetervoter_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(____)