Aracılığıyla paylaş


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.enableLowShuffletrueolarak ayarlanarak etkinleştirilebilir. Bu bayrağın Databricks Runtime 10.4 ve üzerinde hiçbir etkisi yoktur.