Regroupement et agrégation I
L'ajout de groupes contribue en partie à rendre l'agrégation si puissante. PySpark dispose d'une classe entière dédiée aux dataframes groupés : pyspark.sql.GroupedData, que vous avez pu observer dans les deux derniers exercices.
Vous avez appris à créer un DataFrame groupé en appelant la méthode .groupBy() sur un DataFrame sans argument.
Vous constaterez désormais 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 de la même manière que lorsque vous utilisez une instruction GROUP BY dans une requête SQL.
Veuillez noter qu'un SparkSession nommé spark se trouve déjà dans votre espace de travail, ainsi que le Spark DataFrame flights.
Cet exercice fait partie du cours
<cours>Principes fondamentaux de PySpark</cours>Instructions de l’exercice
- Veuillez créer un DataFrame nommé
by_planequi est regroupé par la colonnetailnum. - Utilisez la méthode
.count()sans argument pour compter le nombre de vols effectués par chaque avion. - Veuillez créer un DataFrame nommé
by_originqui est regroupé par la colonneorigin. - Recherchez
.avg()de la colonneair_timepour connaître la durée moyenne des vols au départ de PDX et SEA.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()