Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Skapa en DataFrame kallad by_plane som är grupperad efter kolumnen tailnum.
  • Använd metoden .count() utan argument för att räkna antalet flyg varje flygplan har gjort.
  • Skapa en DataFrame kallad by_origin som är grupperad efter kolumnen origin.
  • Beräkna .avg() för kolumnen air_time fö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()
Redigera och kör kod