Gruppering och aggregering I
En stor del av det som gör aggregering så kraftfullt är möjligheten att kombinera det med grupper. PySpark har en hel klass dedikerad till grupperade DataFrames: pyspark.sql.GroupedData, som du såg i de två föregående övningarna.
Du har lärt dig hur man skapar en grupperad DataFrame genom att anropa metoden .groupBy() på en DataFrame utan argument.
Nu ska du se hur aggregeringsmetoderna beter sig när du skickar in namnet på en eller flera kolumner till .groupBy() – precis som när du använder en GROUP BY-sats i en SQL-fråga!
Kom ihåg att en SparkSession med namnet spark redan finns i din arbetsmiljö, tillsammans med Spark-DataFramen flights.
Den här övningen är en del av kursen
Grunderna i PySpark
Övningsinstruktioner
- Skapa en DataFrame kallad
by_planesom är grupperad efter kolumnentailnum. - Använd metoden
.count()utan argument för att räkna antalet flyg varje flygplan har gjort. - Skapa en DataFrame kallad
by_originsom är grupperad efter kolumnenorigin. - Beräkna
.avg()för kolumnenair_timeför att hitta den genomsnittliga flygtiden från PDX och SEA.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()