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. Filtre deyimleri veya WHERE yan tümceleri içeren sorgular için dinamik dosya ayıklama tetikleyicileri. MERGE, UPDATEve DELETE deyimlerinde dinamik dosya ayıklamayı kullanmak için Photon özellikli işlem kullanmanız gerekir. Photon kullanılmadığında yalnızca SELECT deyimleri dinamik dosya ayıklamadan yararlanıyor.

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.