CommencerCommencez gratuitement

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>
Voir le cours

Instructions de l’exercice

  • Veuillez créer un DataFrame nommé by_plane qui est regroupé par la colonne tailnum.
  • 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_origin qui est regroupé par la colonne origin.
  • Recherchez .avg() de la colonne air_time pour 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()
Modifier et exécuter le code