Agregowanie
Wszystkie popularne metody agregacji, takie jak .min(), .max() i .count(), są metodami obiektu GroupedData. Tworzy się go, wywołując metodę .groupBy() na DataFrame. Za kilka ćwiczeń dowiesz się dokładnie, co to oznacza. Na razie wystarczy, że wywołasz tę metodę na swoim DataFrame. Aby na przykład znaleźć minimalną wartość kolumny col w DataFrame df, możesz napisać:
df.groupBy().min("col").show()
Tworzy to obiekt GroupedData (co umożliwia użycie metody .min()), a następnie znajduje minimalną wartość w kolumnie col i zwraca ją jako DataFrame.
Czas na własne eksperymenty z agregowaniem!
W twoim środowisku dostępna jest już sesja SparkSession o nazwie spark oraz DataFrame flights.
To ćwiczenie jest częścią kursu
Podstawy PySpark
Instrukcje do ćwiczenia
- Znajdź długość najkrótszego lotu (pod względem dystansu), który wyleciał z PDX – użyj metody
.filter(), a następnie.min(). Filtruj, odwołując się bezpośrednio do kolumny, a nie przekazując ciąg znaków SQL. - Znajdź długość najdłuższego lotu (pod względem czasu), który wyleciał z SEA – użyj metody
filter(), a następnie.max(). Filtruj, odwołując się bezpośrednio do kolumny, a nie przekazując ciąg znaków SQL.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()