Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Selecteer de unieke waarden uit de kolom VOTER NAME en maak een nieuwe DataFrame voter_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(____)
Code bewerken en uitvoeren