CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Créez un DataFrame appelé by_plane regroupé par la colonne tailnum.
  • Utilisez la méthode .count() sans arguments pour compter le nombre de vols effectués par chaque avion.
  • Créez un DataFrame appelé by_origin regroupé par la colonne origin.
  • Calculez la .avg() de la colonne air_time pour 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()
Modifier et exécuter le code