Raggruppare e aggregare I
Una delle ragioni per cui le aggregazioni sono così potenti è la possibilità di aggiungere dei gruppi. PySpark ha un’intera classe dedicata ai DataFrame raggruppati: pyspark.sql.GroupedData, che hai visto negli ultimi due esercizi.
Hai imparato a creare un DataFrame raggruppato chiamando il metodo .groupBy() su un DataFrame senza argomenti.
Ora vedrai che, quando passi uno o più nomi di colonna del tuo DataFrame al metodo .groupBy(), i metodi di aggregazione si comportano come quando usi un’istruzione GROUP BY in una query SQL!
Ricorda: una SparkSession chiamata spark è già presente nel tuo workspace, insieme al DataFrame Spark flights.
Questo esercizio fa parte del corso
Fondamenti di PySpark
Istruzioni dell'esercizio
- Crea un DataFrame chiamato
by_planeraggruppato per la colonnatailnum. - Usa il metodo
.count()senza argomenti per contare quante tratte ha effettuato ciascun aereo. - Crea un DataFrame chiamato
by_originraggruppato per la colonnaorigin. - Calcola
.avg()sulla colonnaair_timeper trovare la durata media dei voli da PDX e SEA.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()