CommencerCommencer gratuitement

Un groupby en PySpark

Vous avez vu comment utiliser le framework dask et son abstraction DataFrame pour effectuer des calculs. Cependant, comme vous l’avez vu dans la vidéo, dans le monde du big data, Spark est probablement un choix plus populaire pour le traitement des données.

Dans cet exercice, vous allez utiliser le package PySpark pour manipuler un DataFrame Spark. Les données sont les mêmes que dans les exercices précédents : les participant·e·s aux épreuves olympiques entre 1896 et 2016.

Le DataFrame Spark, athlete_events_spark, est disponible dans votre espace de travail.

Les méthodes que vous allez utiliser dans cet exercice sont :

  • .printSchema() : permet d’afficher le schéma d’un DataFrame Spark.
  • .groupBy() : instruction de regroupement pour une agrégation.
  • .mean() : calcule la moyenne pour chaque groupe.
  • .show() : affiche les résultats.

Cet exercice fait partie du cours

Introduction au data engineering

Afficher le cours

Instructions

  • Déterminez le type de athlete_events_spark.
  • Affichez le schéma de athlete_events_spark.
  • Affichez l’âge moyen des athlètes olympiques, regroupé par année. Remarquez que Spark n’a encore rien calculé. On parle d’« évaluation paresseuse » (lazy evaluation).
  • Reprenez le résultat précédent et appelez .show() dessus pour calculer la moyenne d’âge.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Print the type of athlete_events_spark
print(____(athlete_events_spark))

# Print the schema of athlete_events_spark
print(athlete_events_spark.____())

# Group by the Year, and find the mean Age
print(athlete_events_spark.____('Year').mean(____))

# Group by the Year, and find the mean Age
print(athlete_events_spark.____('Year').mean(____).____())
Modifier et exécuter le code