Zacznij terazZacznij za darmo

Grupowanie i agregowanie I

Agregowanie staje się naprawdę potężnym narzędziem, gdy połączysz je z grupowaniem. PySpark udostępnia w tym celu specjalną klasę dla zgrupowanych ramek danych: pyspark.sql.GroupedData, którą widziałeś w dwóch poprzednich ćwiczeniach.

Wiesz już, jak utworzyć zgrupowaną ramkę danych, wywołując metodę .groupBy() na ramce danych bez żadnych argumentów.

Teraz zobaczysz, że przekazując do metody .groupBy() nazwę jednej lub więcej kolumn, metody agregujące działają tak samo jak instrukcja GROUP BY w zapytaniu SQL!

Pamiętaj, że w środowisku pracy masz już dostęp do sesji SparkSession o nazwie spark oraz do ramki danych Spark o nazwie flights.

To ćwiczenie jest częścią kursu

Podstawy PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz ramkę danych o nazwie by_plane, zgrupowaną według kolumny tailnum.
  • Użyj metody .count() bez argumentów, aby policzyć, ile lotów wykonał każdy samolot.
  • Utwórz ramkę danych o nazwie by_origin, zgrupowaną według kolumny origin.
  • Oblicz .avg() kolumny air_time, aby znaleźć średni czas trwania lotów z PDX i SEA.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod