Ukládání do mezipaměti

Cleaning Data with PySpark

Mike Metzger

Data Engineering Consultant

Co je ukládání do mezipaměti?

Ukládání do mezipaměti ve Sparku:

  • Ukládá DataFramy do paměti nebo na disk
  • Zrychluje pozdější transformace / akce
  • Snižuje spotřebu prostředků
Cleaning Data with PySpark

Nevýhody ukládání do mezipaměti

  • Velmi velké datové sady se nemusí vejít do paměti
  • Ukládání na místní disk nemusí přinést zlepšení výkonu
  • Objekty v mezipaměti nemusí být dostupné
Cleaning Data with PySpark

Tipy pro ukládání do mezipaměti

Při vývoji úloh ve Sparku:

  • Ukládejte do mezipaměti pouze v případě potřeby
  • Vyzkoušejte ukládání DataFramů v různých bodech a sledujte dopad na výkon
  • Ukládejte do paměti a rychlého úložiště SSD / NVMe
  • V případě potřeby ukládejte na pomalejší místní disk
  • Používejte mezilehlé soubory!
  • Po dokončení ukládání do mezipaměti uvolněte objekty
Cleaning Data with PySpark

Implementace ukládání do mezipaměti

Před akcí zavolejte .cache() na DataFrame

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()
Cleaning Data with PySpark

Další operace s mezipamětí

Stav mezipaměti zjistíte pomocí .is_cached

print(voter_df.is_cached)
True

Po dokončení práce s DataFramem zavolejte .unpersist()

voter_df.unpersist()
Cleaning Data with PySpark

Pojďme procvičovat!

Cleaning Data with PySpark

Preparing Video For Download...