Mettre en pratique la mise en 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é à partir d'un fichier CSV. Plusieurs étapes de traitement y sont appliquées. Comme df1 sera utilisé plus d'une fois, il est candidat à la mise en cache.
Un deuxième dataframe df2 est créé en effectuant des étapes supplémentaires, gourmandes en calcul, sur df1. Il est lui aussi candidat à la mise en cache.
Comme df2 dépend de df1, la 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 que prend chaque action. Nous les comparerons au prochain exercice.
Cette activité fait partie du cours
Introduction à Spark SQL en Python
Instructions de l’exercice
- Mettez seulement
df1en cache. - Exécutez une première action sur
df1et répétez-la, puis exécutez une action surdf2et répétez-la. Cela a été fait pour vous. - Confirmez si
df1est mis en cache ou non.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(____)