Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Cache alleen df1.
  • Voer een eerste actie op df1 uit en herhaal die, voer daarna een actie op df2 uit en herhaal die. Dit is al voor je gedaan.
  • Controleer of df1 wel 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(____)
Code bewerken en uitvoeren