Regroupement et agrégation I
Ce qui rend l'agrégation si puissante, c'est la possibilité d'ajouter des regroupements. PySpark offre une classe entière pour les DataFrames regroupés : pyspark.sql.GroupedData, que vous avez vue dans les deux derniers exercices.
Vous avez appris à créer un DataFrame regroupé en appelant la méthode .groupBy() sur un DataFrame sans arguments.
Vous verrez maintenant que lorsque vous transmettez un ou plusieurs noms de colonnes de votre DataFrame à la méthode .groupBy(), les méthodes d'agrégation se comportent comme avec une clause GROUP BY dans une requête SQL!
Rappelez-vous qu'un SparkSession nommé spark est déjà disponible dans votre espace de travail, ainsi que le DataFrame Spark flights.
Cette activité fait partie du cours
Fondements de PySpark
Instructions de l’exercice
- Créez un DataFrame appelé
by_planeregroupé 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_originregroupé par la colonneorigin. - Calculez la
.avg()de la colonneair_timepour obtenir 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()