Dinamik dosya ayıklama

Dinamik dosya ayıklama, Delta Lake tablolarındaki birçok sorgunun performansını önemli ölçüde artırabilir. Sorgu iyileştiricisi, filtre deyimleri veya WHERE yan tümceleri içeren sorgular için dinamik dosya ayıklamayı tetikler. MERGE, UPDATE ve DELETE ifadelerinde dinamik dosya budama, Photon özellikli işlem kümesi gerektirir. SELECT deyimleri için Photon, daha kapsamlı ve daha güvenilir dinamik dosya budama sağlar. Photon olmadan da dinamik dosya ayıklama, sorgu şekline ve yürütme planına bağlı olarak SELECT deyimlerine uygulanabilir.

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şkilidir, bu nedenle avantajı en üst düzeye çıkarmak için sıvı kümelemesi kullanmayı göz önünde bulundurun. Bkz Tablolar için sıvı kümeleme kullanma.

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.