Een ID-veld toevoegen
Als je met data werkt, wil je soms alleen bepaalde velden gebruiken en daar bewerkingen op uitvoeren. Zoek in dit geval alle unieke kiezersnamen in de DataFrame en voeg een unieke ID toe. Onthoud dat Spark-ID's worden toegewezen op basis van de partitie van de DataFrame — daardoor kunnen de ID-waarden veel groter zijn dan het werkelijke aantal rijen in de DataFrame.
Door de luie verwerking van Spark worden de ID's pas echt gegenereerd wanneer er een actie wordt uitgevoerd en kunnen ze enigszins willekeurig lijken, afhankelijk van de grootte van de gegevensset.
De spark-sessie en een Spark DataFrame df met het bestand DallasCouncilVotes.csv.gz zijn beschikbaar in je werkruimte. De bibliotheek pyspark.sql.functions is beschikbaar onder de alias F.
Deze oefening maakt deel uit van de cursus
Data opschonen met PySpark
Oefeninstructies
- Selecteer de unieke waarden uit de kolom
VOTER NAMEen maak een nieuwe DataFramevoter_df. - Tel het aantal rijen in de DataFrame
voter_df. - Voeg een kolom ROW_ID toe met de juiste Spark-functie.
- Toon de rijen met de 10 hoogste ROW_ID's.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(____)