Aggregieren
Alle gängigen Aggregationsmethoden, wie .min()
, .max()
und .count()
sind GroupedData
-Methoden. Diese werden durch den Aufruf der DataFrame-Methode .groupBy()
erstellt. Was das genau bedeutet, erfährst du in einigen Aufgaben. Um diese Funktionen zu nutzen, musst du nur die Methode für deinen DataFrame aufrufen. Um zum Beispiel den Mindestwert einer Spalte col
in einem DataFrame df
zu finden, kannst du Folgendes tun
df.groupBy().min("col").show()
Dies erstellt ein GroupedData
-Objekt (damit du die Methode .min()
verwenden kannst), findet dann den Mindestwert in col
und gibt ihn als DataFrame zurück.
Jetzt kannst du selbst Daten aggregieren!
Eine SparkSession
namens spark
befindet sich bereits in deinem Arbeitsbereich, zusammen mit dem Spark DataFrame flights
.
Diese Übung ist Teil des Kurses
Einführung in PySpark
Anleitung zur Übung
- Finde die Länge des kürzesten (in Bezug auf die Entfernung) Fluges, der PDX verlassen hat, indem du zuerst
.filter()
und dann die Methode.min()
anwendest. Führe die Filterung durch, indem du die Spalte direkt referenzierst und nicht einen SQL-String übergibst. - Finde die Länge des längsten Fluges (in Bezug auf die Zeit), der SEA verlassen hat, indem du
filter()
und die Methode.max()
verwendest. Führe die Filterung durch, indem du die Spalte direkt referenzierst und nicht einen SQL-String übergibst.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Find the shortest flight from PDX in terms of distance
flights.filter(____.____ == ____).groupBy().____(____).show()
# Find the longest flight from SEA in terms of air time
flights.filter(____).groupBy().____.show()