Caching

Data opschonen met PySpark

Mike Metzger

Data Engineering Consultant

Wat is caching?

Caching in Spark:

  • Slaat DataFrames op in geheugen of op schijf
  • Versnelt latere transformaties/acties
  • Vermindert resourcegebruik
Data opschonen met PySpark

Nadelen van caching

  • Zeer grote datasets passen mogelijk niet in het geheugen
  • Caching op lokale schijf kan geen prestatiewinst geven
  • Gecachte objecten zijn mogelijk niet beschikbaar
Data opschonen met PySpark

Cachingtips

Tijdens het bouwen van Spark-taken:

  • Cache alleen als het nodig is
  • Probeer op verschillende punten te cachen en kijk of de performance verbetert
  • Cache in geheugen en snelle SSD/NVMe-opslag
  • Cache op trage lokale schijf indien nodig
  • Gebruik tussentijdse bestanden!
  • Stop met cachen zodra je klaar bent
Data opschonen met PySpark

Caching implementeren

Roep .cache() aan op de DataFrame vóór een actie

voter_df = spark.read.csv('voter_data.txt.gz')
voter_df.cache().count()
voter_df = voter_df.withColumn('ID', monotonically_increasing_id())
voter_df = voter_df.cache()
voter_df.show()
Data opschonen met PySpark

Meer cachebewerkingen

Controleer .is_cached om de cachestatus te zien

print(voter_df.is_cached)
True

Roep .unpersist() aan als je klaar bent met de DataFrame

voter_df.unpersist()
Data opschonen met PySpark

Laten we oefenen!

Data opschonen met PySpark

Preparing Video For Download...