Önbelleğe Alma

PySpark ile Veri Temizleme

Mike Metzger

Data Engineering Consultant

Önbelleğe alma nedir?

Spark'ta önbelleğe alma:

  • DataFrame'leri bellekte veya diskte saklar
  • Sonraki dönüşümler/eylemler için hızı artırır
  • Kaynak kullanımını azaltır
PySpark ile Veri Temizleme

Önbelleğe almanın dezavantajları

  • Çok büyük veri kümeleri belleğe sığmayabilir
  • Yerel disk tabanlı önbellek her zaman performans kazandırmaz
  • Önbellekteki nesneler erişilebilir olmayabilir
PySpark ile Veri Temizleme

Önbelleğe alma ipuçları

Spark görevleri geliştirirken:

  • Yalnızca gerektiğinde önbelleğe alın
  • Farklı noktalarda DataFrame'leri önbelleğe alıp performansın iyileşip iyileşmediğini ölçün
  • Bellekte ve hızlı SSD/NVMe depolamada önbelleğe alın
  • Gerekirse yavaş yerel diske önbelleğe alın
  • Ara dosyalar kullanın!
  • İşiniz bitince nesnelerin önbelleğini kaldırın
PySpark ile Veri Temizleme

Önbelleğe almayı uygulama

Eylemden önce DataFrame üzerinde .cache() çağırın

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()
PySpark ile Veri Temizleme

Diğer önbellek işlemleri

Önbellek durumunu görmek için .is_cached kullanın

print(voter_df.is_cached)
True

DataFrame ile işiniz bitince .unpersist() çağırın

voter_df.unpersist()
PySpark ile Veri Temizleme

Hadi pratik yapalım!

PySpark ile Veri Temizleme

Preparing Video For Download...