MasterLabs Technologies Görüşme planla
· Veri · 8 dk okuma

Spark’ta Veri Çarpıklığı: Belirtiler, Teşhis ve Çözüm Yolları

Bir Spark işinin yüzde doksanı dakikalar içinde biterken son birkaç görevin saatlerce sürmesi, neredeyse her zaman veri çarpıklığına işaret eder.

Belirtiler

Spark UI’da aynı aşamadaki görevlerin süre ve okunan veri miktarı arasında büyük farklar görürsünüz. Genellikle birkaç anahtar değer (ör. boş müşteri kimliği veya çok büyük bir mağaza) verinin orantısız bir kısmını taşır.

Teşhis

Join ve groupBy anahtarlarının dağılımını basit bir sayım sorgusuyla inceleyin. İlk birkaç anahtarın toplam satırların anlamlı bir yüzdesini oluşturduğunu görüyorsanız sorun kaynağını bulmuşsunuzdur.

Çözüm seçenekleri

Uyarlanabilir sorgu yürütmeyi (AQE) ve çarpık join optimizasyonunu etkinleştirin; çoğu durumda bu tek başına yeterlidir. Küçük tablolar için broadcast join kullanın. Kalıcı çarpıklıkta sıcak anahtarlara rastgele bir ek (salting) ekleyerek yükü dağıtın.

Kalıcı iyileştirme

Çarpıklığın kaynağı çoğu zaman veri kalitesidir. Boş veya varsayılan anahtarları kaynakta temizlemek, performans ayarından daha kalıcı bir çözüm sağlar.

İletişim

Benzer bir ihtiyacınız mı var?

İlk görüşmede durumunuzu dinliyor, uygulanabilir bir yol haritası öneriyoruz.

Görüşme planlayın →