Aracılığıyla paylaş


Dinamik dosya ayıklama

Dinamik dosya ayıklama, Delta Lake tablolarındaki birçok sorgunun performansını önemli ölçüde artırabilir. Dinamik dosya ayıklama, sorgu eniyileştirici kararları temelinde ve filtre deyimleri veya WHERE yan tümceleri içeren sorgular üzerine tetiklenir. Dinamik dosya ayıklama kullanımını garanti etmek için MERGE, UPDATE, ve DELETE deyimlerinde Photon özellikli hesaplama kaynaklarını kullanmalısınız. Yalnızca SELECT deyimler, Photon kullanılmadığında dinamik dosya ayıklama kullanımını garanti eder.

Dinamik dosya ayıklama özellikle bölümlenmemiş tablolar veya bölümlenmemiş sütunlardaki birleştirmeler için etkilidir. Dinamik dosya ayıklamanın performans etkisi genellikle verilerin kümelenmesiyle ilişkilendirilir, bu nedenle avantajı en üst düzeye çıkarmak için Z-Ordering kullanmayı göz önünde bulundurun.

Dinamik dosya ayıklama için arka plan ve kullanım örnekleri için bkz. dinamik dosya ayıklamaile Delta Lake'te daha hızlı SQL sorguları .

Konfigürasyon

Dinamik dosya ayıklama aşağıdaki Apache Spark yapılandırma seçenekleri tarafından denetlenır:

  • spark.databricks.optimizer.dynamicFilePruning (varsayılan true): Optimizatörü filtreleri göndermeye yönlendiren ana bayrak. falseolarak ayarlandığında, dinamik dosya ayıklama etkin olmaz.
  • spark.databricks.optimizer.deltaTableSizeThreshold (varsayılan 10,000,000,000 bytes (10 GB)): Dinamik dosya ayıklamayı tetikleme için gereken birleştirmenin yoklama tarafındaki Delta tablosunun en küçük boyutunu (bayt cinsinden) temsil eder. Prob tarafı çok büyük değilse, filtreleri aşağı itmeye muhtemelen değmez ve sadece bütün tabloyu tarayabiliriz. DESCRIBE DETAIL table_name komutunu çalıştırıp sizeInBytes sütununa bakarak Delta tablosunun boyutunu bulabilirsiniz.
  • spark.databricks.optimizer.deltaTableFilesThreshold (varsayılan 10): Dinamik dosya ayıklamayı tetiklemek için gereken birleştirme işleminin prob tarafındaki Delta tablosunun dosya sayısını temsil eder. Yoklama yan tablosu eşik değerinden daha az dosya içerdiğinde dinamik dosya ayıklama tetiklenmez. Bir tabloda yalnızca birkaç dosya varsa dinamik dosya ayıklamayı etkinleştirmeniz faydalı olmayabilir. DESCRIBE DETAIL table_name komutunu çalıştırıp numFiles sütununa bakarak Delta tablosunun boyutunu bulabilirsiniz.