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
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(____).____())