Erste SchritteKostenlos loslegen

Auswählen

Die Spark-Variante von SQLs SELECT ist die Methode .select(). Diese Methode benötigt mehrere Argumente – eines für jede Spalte, die ausgewählt werden soll. Diese Argumente können entweder der Spaltenname als String (einer für jede Spalte) oder ein Spaltenobjekt (unter Verwendung der Syntax df.colName) sein. Wenn du ein Spaltenobjekt übergibst, kannst du Operationen wie Addition oder Subtraktion an der Spalte durchführen, um die darin enthaltenen Daten zu ändern, ähnlich wie in .withColumn().

Der Unterschied zwischen den Methoden .select() und .withColumn() besteht darin, dass .select() nur die von dir angegebenen Spalten zurückgibt, während .withColumn() alle Spalten des DataFrame zusätzlich zu der von dir definierten Spalte zurückgibt. Es ist oft eine gute Idee, Spalten, die man nicht braucht, zu Beginn einer Operation zu löschen, damit man keine zusätzlichen Daten mit sich herumschleppt. In diesem Fall würdest du .select() und nicht .withColumn() verwenden.

Erinnere dich daran, dass sich bereits eine SparkSession namens spark in deinem Arbeitsbereich befindet, zusammen mit dem Spark DataFrame flights.

Diese Übung ist Teil des Kurses

Einführung in PySpark

Kurs anzeigen

Anleitung zur Übung

  • Wähle die Spalten "tailnum", "origin" und "dest" aus flights aus, indem du die Spaltennamen als Strings übergibst. Speichere dies als selected1.
  • Wähle die Spalten "origin", "dest" und "carrier" mit der Syntax df.colName aus und filtere dann das Ergebnis mit den beiden bereits für dich definierten Filtern (filterA und filterB), um nur die Flüge von SEA nach PDX zu behalten. Speichere dies als selected2.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# Select the first set of columns
selected1 = flights.select("____", "____", "____")

# Select the second set of columns
temp = flights.select(____.____, ____.____, ____.____)

# Define first filter
filterA = flights.origin == "SEA"

# Define second filter
filterB = flights.dest == "PDX"

# Filter the data, first by filterA then by filterB
selected2 = temp.filter(____).filter(____)
Bearbeiten und Ausführen von Code