Azure Databricks'te düşük shuffle birleştirme
Dikkat
Databricks Runtime 10.4 LTS ve üzerindeki sürümlerde Düşük karıştırma birleştirme genel kullanıma açık, ve Databricks Runtime 9.1 LTS'de Genel Önizleme olarak mevcuttur. Databricks, Önizleme müşterilerinin Databricks Runtime 10.4 LTS veya üzerine geçişini önerir.
MERGE komutu, Delta Lake tablosundan eşzamanlı güncelleştirmeler, eklemeler ve silme işlemleri gerçekleştirmek için kullanılır. Azure Databricks, karıştırma işlemlerinin sayısını azaltarak yaygın iş yükleri için performansı önemli ölçüde geliştiren iyileştirilmiş bir MERGE
uygulamasına sahiptir.
Databricks düşük karıştırmalı birleştirme, değiştirilmemiş satırları değiştirilen satırlarla birlikte işlemek yerine ayrı ve daha kolay bir işleme modunda işleyerek daha iyi performans sağlar. Sonuç olarak karıştırılan veri miktarı önemli ölçüde azaltılır ve performansın artmasına yol açar. Düşük karıştırmalı birleştirme, kullanıcıların bir MERGE
işlemi gerçekleştirdikten sonra OPTIMIZE ZORDER BY komutunu yeniden çalıştırma gereksinimini de azaltır.
İyileştirilmiş performans
Birçok MERGE
iş yükü, bir tablodaki yalnızca nispeten az sayıda satırı güncelleştirir. Ancak Delta tabloları yalnızca dosya başına güncelleştirilir.
MERGE
komutunun belirli bir dosyada depolanan az sayıda satırı güncelleştirmesi veya silmesi gerektiğinde, bu satırlar değiştirilmemiş olsa bile aynı dosyada depolanan kalan tüm satırları da işlemeli ve yeniden yazmalıdır. Düşük shuffle birleştirme, değiştirilmemiş satırların işlenmesini optimize eder. Daha önce, değiştirilen satırlarla aynı şekilde işleniyordu ve bunlar birden çok karıştırma aşamasından ve pahalı hesaplamalardan geçirildi. Düşük karıştırmalı birleştirmede, değiştirilmemiş satırlar bunun yerine karıştırma, pahalı işleme veya başka ek yük olmadan işlenir.
İyileştirilmiş veri düzeni
Daha hızlı çalıştırmanın yanı sıra, düşük karıştırma birleştirme sonraki işlemlerde de avantaj sağlar. Önceki MERGE
uygulaması, değiştirilmemiş verilerin veri düzeninin tamamen değiştirilmesine neden oldu ve sonraki işlemlerde performansın düşmesine neden oldu. Düşük karıştırmalı birleştirme, mümkün olan en iyi çabayla Z düzeni iyileştirmesi dahil olmak üzere, değiştirilmemiş kayıtların mevcut veri düzenini korumaya çalışır. Bu nedenle, düşük karıştırmalı birleştirme ile bir Delta tablosundaki işlemlerin performansı, bir veya daha fazla MERGE
komutu çalıştırıldıktan sonra daha yavaş bir şekilde azalır.
Dikkat
Düşük karıştırmalı birleştirme, değiştirilmeyen mevcut verilerde veri düzenini korumaya çalışır. Güncelleştirilmiş veya yeni eklenen verilerin veri düzeni en iyi durumda olmayabilir, bu nedenle OPTIMIZE
veya OPTIMIZE ZORDER BY komutlarını çalıştırmanız gerekebilir.
Kullanılabilirlik
Databricks Runtime 10.4 ve üzerinde düşük karıştırma birleşimi varsayılan olarak etkin durumda. Önceki desteklenen Databricks Runtime sürümlerinde yapılandırma spark.databricks.delta.merge.enableLowShuffle
true
olarak ayarlanarak etkinleştirilebilir. Bu bayrağın Databricks Runtime 10.4 ve üzerinde hiçbir etkisi yoktur.