Caching

Datarensning med PySpark

Mike Metzger

Data Engineering Consultant

Vad är caching?

Caching i Spark:

  • Lagrar DataFrames i minnet eller på disk
  • Förbättrar hastigheten vid senare transformationer / åtgärder
  • Minskar resursanvändningen
Datarensning med PySpark

Nackdelar med caching

  • Mycket stora datamängder ryms kanske inte i minnet
  • Lokal diskbaserad caching ger inte alltid bättre prestanda
  • Cachade objekt kanske inte är tillgängliga
Datarensning med PySpark

Tips om caching

Vid utveckling av Spark-uppgifter:

  • Cacha bara när det behövs
  • Testa caching av DataFrames vid olika punkter och kontrollera om prestandan förbättras
  • Cacha i minnet och på snabb SSD / NVMe-lagring
  • Cacha på långsammare lokal disk vid behov
  • Använd mellanliggande filer!
  • Sluta cacha objekt när du är klar
Datarensning med PySpark

Implementera caching

Anropa .cache() på DataFrame innan en åtgärd

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()
Datarensning med PySpark

Fler cache-operationer

Kontrollera .is_cached för att se cachestatus

print(voter_df.is_cached)
True

Anropa .unpersist() när du är klar med DataFrame

voter_df.unpersist()
Datarensning med PySpark

Nu kör vi en övning!

Datarensning med PySpark

Preparing Video For Download...