Oefenen met cachen: deel 1
In de komende oefeningen ga je experimenteren met verschillende manieren om twee DataFrames te cachen.
Een dataframe df1 is geladen uit een csv-bestand. Er zijn meerdere verwerkingsstappen op uitgevoerd. Omdat je df1 meer dan eens gaat gebruiken, is het een kandidaat om te cachen.
Een tweede dataframe df2 wordt gemaakt door extra, rekenintensieve stappen op df1 uit te voeren. Ook dit is een kandidaat om te cachen.
Omdat df2 afhankelijk is van df1, rijst de vraag: is het beter om df1 te cachen, of juist df2?
In deze oefening proberen we df1 te cachen. Let op de tijd die elke actie kost. Die vergelijken we in de volgende oefening.
Deze oefening maakt deel uit van de cursus
Introductie tot Spark SQL in Python
Oefeninstructies
- Cache alleen
df1. - Voer een eerste actie op
df1uit en herhaal die, voer daarna een actie opdf2uit en herhaal die. Dit is al voor je gedaan. - Controleer of
df1wel of niet is gecachet.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(____)