Grupare și agregare I
Unul dintre lucrurile care fac agregarea atât de puternică este posibilitatea de a lucra cu grupuri. PySpark are o clasă dedicată special pentru DataFrame-urile grupate: pyspark.sql.GroupedData, pe care ai văzut-o în ultimele două exerciții.
Ai învățat cum să creezi un DataFrame grupat apelând metoda .groupBy() pe un DataFrame, fără argumente.
Acum vei vedea că, atunci când transmiți numele uneia sau mai multor coloane din DataFrame-ul tău metodei .groupBy(), metodele de agregare se comportă exact ca un GROUP BY dintr-o interogare SQL!
Amintește-ți că în spațiul tău de lucru există deja un SparkSession numit spark, împreună cu DataFrame-ul Spark flights.
Acest exercițiu face parte din cursul
Fundamente PySpark
Instrucțiuni pentru exercițiu
- Creează un DataFrame numit
by_plane, grupat după coloanatailnum. - Folosește metoda
.count()fără argumente pentru a număra câte zboruri a efectuat fiecare avion. - Creează un DataFrame numit
by_origin, grupat după coloanaorigin. - Calculează
.avg()al coloaneiair_timepentru a afla durata medie a zborurilor din PDX și SEA.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()