Mettre en cache un DataFrame
On vous a confié une tâche qui nécessite d’exécuter plusieurs opérations d’analyse sur un DataFrame. Vous savez que la mise en cache peut améliorer les performances lorsque l’on réutilise des DataFrames et vous souhaitez l’appliquer.
Vous allez travailler avec un nouveau jeu de données contenant des informations sur les départs de compagnies aériennes. Il peut contenir des doublons et devra être dédupliqué.
Le DataFrame departures_df est défini, mais aucune action n’a encore été effectuée.
Cet exercice fait partie du cours
Nettoyer des données avec PySpark
Instructions
- Mettez en cache les lignes uniques du DataFrame
departures_df. - Effectuez une requête de comptage sur
departures_dfet notez le temps d’exécution. - Comptez à nouveau les lignes et observez la différence de temps avec le DataFrame mis en cache.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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))