Caching

Pulizia dei dati con PySpark

Mike Metzger

Data Engineering Consultant

Cos’è il caching?

Il caching in Spark:

  • Memorizza i DataFrame in RAM o su disco
  • Velocizza trasformazioni/azioni successive
  • Riduce l’uso di risorse
Pulizia dei dati con PySpark

Svantaggi del caching

  • Dataset molto grandi possono non entrare in RAM
  • Il caching su disco locale può non migliorare le prestazioni
  • Gli oggetti in cache potrebbero non essere disponibili
Pulizia dei dati con PySpark

Consigli per il caching

Quando sviluppi task Spark:

  • Fai cache solo se serve
  • Prova a mettere in cache i DataFrame in vari punti e verifica se le prestazioni migliorano
  • Cache in RAM e su SSD/NVMe veloci
  • Su disco locale lento solo se necessario
  • Usa file intermedi!
  • Smetti di fare cache quando hai finito
Pulizia dei dati con PySpark

Implementare il caching

Chiama .cache() sul DataFrame prima dell’azione

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()
Pulizia dei dati con PySpark

Altre operazioni sulla cache

Controlla .is_cached per lo stato della cache

print(voter_df.is_cached)
True

Chiama .unpersist() quando hai finito col DataFrame

voter_df.unpersist()
Pulizia dei dati con PySpark

Ayo berlatih!

Pulizia dei dati con PySpark

Preparing Video For Download...