LoslegenKostenlos loslegen

Gruppieren und Aggregieren I

Ein Teil dessen, was die Aggregation so mächtig macht, ist das Hinzufügen von Gruppen. PySpark hat eine ganze Klasse, die sich mit gruppierten Dataframes beschäftigt: pyspark.sql.GroupedData; diese hast du in den letzten beiden Aufgaben gesehen.

Du hast gelernt, wie man einen gruppierten DataFrame erstellt, indem man die Methode .groupBy() für einen DataFrame ohne Argumente aufruft.

Wenn du den Namen einer oder mehrerer Spalten in deinem DataFrame an die Methode .groupBy() übergibst, verhalten sich die Aggregationsmethoden so, wie wenn du eine GROUP BY-Anweisung in einer SQL-Abfrage verwendest!

Erinnere dich daran, dass eine SparkSession mit dem Namen spark bereits in deinem Arbeitsbereich liegt, zusammen mit dem Spark DataFrame flights.

Diese Übung ist Teil des Kurses

Einführung in PySpark

Kurs anzeigen

Anleitung zur Übung

  • Erstelle einen DataFrame namens by_plane, der nach der Spalte tailnum gruppiert ist.
  • Verwende die Methode .count() ohne Argumente, um die Anzahl der Flüge jedes Flugzeugs zu zählen.
  • Erstelle einen DataFrame namens by_origin, der nach der Spalte origin gruppiert ist.
  • Finde mit .avg() den Mittelwert der air_time-Spalte, um die durchschnittliche Dauer der Flüge von PDX und SEA zu ermitteln.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Group by tailnum
by_plane = flights.groupBy("____")

# Number of flights each plane made
by_plane.____.show()

# Group by origin
by_origin = flights.groupBy("____")

# Average duration of flights from PDX and SEA
by_origin.avg("____").show()
Code bearbeiten und ausführen