S’exercer au cache : partie 1
Dans les prochains exercices, vous allez expérimenter différentes façons de mettre en cache deux DataFrames.
Un DataFrame df1 est chargé depuis un fichier CSV. Plusieurs étapes de traitement sont réalisées dessus. Comme df1 sera utilisé plusieurs fois, il est candidat au cache.
Un second DataFrame df2 est créé en appliquant des étapes supplémentaires, coûteuses en calcul, sur df1. Il est lui aussi candidat au cache.
Puisque df2 dépend de df1, une question se pose : vaut-il mieux mettre en cache df1, ou mettre en cache df2 ?
Dans cet exercice, nous allons essayer de mettre en cache df1. Notez le temps nécessaire pour chaque action. Nous comparerons ces durées dans le prochain exercice.
Cet exercice fait partie du cours
Introduction à Spark SQL en Python
Instructions
- Mettez uniquement
df1en cache. - Exécutez une première action sur
df1puis répétez-la, ensuite exécutez une action surdf2et répétez-la. Cela a été fait pour vous. - Vérifiez si
df1est bien mis en cache ou non.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Unpersists df1 and df2 and initializes a timer
prep(df1, df2)
# Cache df1
____
# Run actions on both dataframes
run(df1, "df1_1st")
run(df1, "df1_2nd")
run(df2, "df2_1st")
run(df2, "df2_2nd", elapsed=True)
# Prove df1 is cached
print(____)