LoslegenKostenlos loslegen

Ein ID-Feld hinzufügen

Wenn du mit Daten arbeitest, willst du manchmal nur bestimmte Felder auswählen und verschiedene Operationen darauf ausführen. Finde in diesem Fall alle eindeutigen Wählernamen aus dem DataFrame und vergib eine eindeutige ID-Nummer. Denk daran: Spark-IDs werden basierend auf der Partition des DataFrames vergeben – daher können die ID-Werte deutlich größer sein als die tatsächliche Anzahl der Zeilen im DataFrame.

Durch die lazy-Verarbeitung von Spark werden die IDs erst bei einer Action tatsächlich erzeugt und können je nach Größe des Datensatzes etwas zufällig wirken.

Die spark-Session und ein Spark-DataFrame df mit der Datei DallasCouncilVotes.csv.gz stehen dir in deinem Workspace zur Verfügung. Die Bibliothek pyspark.sql.functions ist unter dem Alias F verfügbar.

Diese Übung ist Teil des Kurses

Datenbereinigung mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Wähle die eindeutigen Einträge aus der Spalte VOTER NAME aus und erstelle einen neuen DataFrame namens voter_df.
  • Zähle die Zeilen im DataFrame voter_df.
  • Füge eine Spalte ROW_ID mit der passenden Spark-Funktion hinzu.
  • Zeige die Zeilen mit den 10 höchsten ROW_IDs an.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen