Mettre en cache un DataFrame
On vous a confié une tâche qui exige d'exécuter plusieurs opérations d'analyse sur un DataFrame. Vous avez appris que la mise en cache peut améliorer la performance lorsqu'on réutilise des DataFrames et vous souhaitez l'appliquer.
Vous allez travailler avec un nouveau jeu de données contenant des renseignements sur les départs de vols. Il peut comporter des données répétées et devra être dédoublonné.
Le DataFrame departures_df est défini, mais aucune action n'a encore été exécutée.
Cette activité fait partie du cours
Nettoyer des données avec PySpark
Instructions de l’exercice
- Mettez en cache les lignes uniques du DataFrame
departures_df. - Exécutez une requête de comptage sur
departures_dfet notez le temps nécessaire pour l'opération. - Comptez de nouveau les lignes et observez la variation du temps avec un DataFrame mis en cache.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
start_time = time.time()
# Add caching to the unique rows in departures_df
departures_df = departures_df.____.____
# Count the unique rows in departures_df, noting how long the operation takes
print("Counting %d rows took %f seconds" % (departures_df.____, time.time() - start_time))
# Count the rows again, noting the variance in time of a cached DataFrame
start_time = time.time()
print("Counting %d rows again took %f seconds" % (____, time.time() - start_time))