Caching

Membersihkan Data dengan PySpark

Mike Metzger

Data Engineering Consultant

Apa itu caching?

Caching di Spark:

  • Menyimpan DataFrame di memori atau disk
  • Mempercepat transformasi/aksi berikutnya
  • Mengurangi penggunaan sumber daya
Membersihkan Data dengan PySpark

Kekurangan caching

  • Himpunan data sangat besar bisa tidak muat di memori
  • Caching berbasis disk lokal bisa jadi tidak meningkatkan kinerja
  • Objek yang di-cache bisa tidak tersedia
Membersihkan Data dengan PySpark

Tips caching

Saat mengembangkan tugas Spark:

  • Cache hanya jika perlu
  • Coba cache DataFrame di berbagai titik dan lihat apakah kinerja membaik
  • Cache di memori dan penyimpanan SSD/NVMe cepat
  • Cache ke disk lokal yang lambat jika perlu
  • Gunakan file perantara!
  • Hentikan cache objek saat selesai
Membersihkan Data dengan PySpark

Menerapkan caching

Panggil .cache() pada DataFrame sebelum Action

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()
Membersihkan Data dengan PySpark

Operasi cache lainnya

Periksa .is_cached untuk mengetahui status cache

print(voter_df.is_cached)
True

Panggil .unpersist() saat selesai dengan DataFrame

voter_df.unpersist()
Membersihkan Data dengan PySpark

Ayo berlatih!

Membersihkan Data dengan PySpark

Preparing Video For Download...