Regroupement et agrégation I
La puissance de l'agrégation repose en partie sur l'ajout de groupes. PySpark a une classe entière consacrée aux cadres de données groupées : pyspark.sql.GroupedData, que vous avez vu dans les deux derniers exercices.
Vous avez appris à créer un DataFrame groupé en appelant la méthode .groupBy() sur un DataFrame sans arguments.
Vous verrez maintenant que lorsque vous transmettez le nom d'une ou plusieurs colonnes de votre DataFrame à la méthode .groupBy(), les méthodes d'agrégation se comportent comme lorsque vous utilisez une instruction GROUP BY dans une requête SQL!
Rappelez-vous qu'un site SparkSession appelé spark se trouve déjà dans votre espace de travail, ainsi que le DataFrame Spark flights.
Cet exercice fait partie du cours
Introduction à PySpark
Instructions
- Créez un DataFrame appelé
by_planequi est groupé par la colonnetailnum. - Utilisez la méthode
.count()sans arguments pour compter le nombre de vols effectués par chaque avion. - Créez un DataFrame appelé
by_originqui est groupé par la colonneorigin. - Trouvez le
.avg()de la colonneair_timepour trouver la durée moyenne des vols à partir de PDX et SEA.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()