دمج تبديل عشوائي منخفض على Azure Databricks

إشعار

يتوفر دمج التبديل العشوائي المنخفض بشكل عام (GA) في Databricks Runtime 10.4 lTS وما فوق وفي المعاينة العامة في Databricks Runtime 9.1 LTS. توصي Databricks بأن يقوم عملاء المعاينة بالترحيل إلى Databricks Runtime 10.4 LTS أو أعلى.

يتم استخدام الأمر MERGE لإجراء تحديثات وإدراجات ومحذوفات متزامنة من جدول Delta Lake. يحتوي Azure Databricks على تطبيق MERGE محسن يحسن الأداء بشكل كبير لأحمال العمل الشائعة عن طريق تقليل عدد عمليات التبديل العشوائي.

يوفر دمج التبديل العشوائي المنخفض ل Databricks أداء أفضل من خلال معالجة الصفوف غير المعدلة في وضع معالجة منفصل وأكثر انسيابية، بدلا من معالجتها مع الصفوف المعدلة. ونتيجة لذلك، يتم تقليل كمية البيانات المحولة بشكل كبير، مما يؤدي إلى تحسين الأداء. يقلل دمج التبديل العشوائي المنخفض أيضا من حاجة المستخدمين إلى إعادة تشغيل الأمر OPTIMIZE ZORDER BY بعد إجراء MERGE عملية.

الأداء المحسن

تقوم العديد من MERGE أحمال العمل بتحديث عدد صغير نسبيا من الصفوف في جدول. ومع ذلك، لا يمكن تحديث جداول Delta إلا على أساس كل ملف. MERGE عندما يحتاج الأمر إلى تحديث أو حذف عدد صغير من الصفوف المخزنة في ملف معين، يجب عليه أيضا معالجة وإعادة كتابة كافة الصفوف المتبقية المخزنة في نفس الملف، على الرغم من أن هذه الصفوف غير معدلة. يحسن دمج التبديل العشوائي المنخفض معالجة الصفوف غير المعدلة. في السابق، تمت معالجتها بنفس الطريقة التي تمت بها معالجة الصفوف المعدلة، وتمريرها عبر مراحل تبديل متعددة وحسابات مكلفة. في دمج التبديل العشوائي المنخفض، تتم معالجة الصفوف غير المعدلة بدلا من ذلك دون أي تبديلات أو معالجة مكلفة أو أي حمل إضافي آخر.

تخطيط البيانات المحسن

بالإضافة إلى كونه أسرع للتشغيل، فإن دمج التبديل العشوائي المنخفض يفيد العمليات اللاحقة أيضا. تسبب التنفيذ السابق MERGE في تغيير تخطيط البيانات للبيانات غير المعدلة بالكامل، مما أدى إلى انخفاض الأداء في العمليات اللاحقة. يحاول دمج التبديل العشوائي المنخفض الحفاظ على تخطيط البيانات الحالي للسجلات غير المعدلة، بما في ذلك تحسين ترتيب Z على أساس أفضل جهد. ومن ثم، مع دمج التبديل العشوائي المنخفض، سيتدهور أداء العمليات على جدول Delta ببطء أكبر بعد تشغيل أمر واحد أو أكثر MERGE .

إشعار

يحاول دمج التبديل العشوائي المنخفض الاحتفاظ بتخطييط البيانات على البيانات الموجودة التي لم يتم تعديلها. قد لا يكون تخطيط البيانات للبيانات المحدثة أو المدرجة حديثا هو الأمثل، لذلك قد يكون من الضروري تشغيل OPTIMIZE أوامر أو OPTIMIZE ZORDER BY .

التوافر

يتم تمكين دمج التبديل العشوائي المنخفض بشكل افتراضي في Databricks Runtime 10.4 وما فوق. في إصدارات وقت تشغيل Databricks المدعومة سابقا، يمكن تمكينه عن طريق تعيين التكوين spark.databricks.delta.merge.enableLowShuffle إلى true. هذه العلامة ليس لها أي تأثير في Databricks Runtime 10.4 وما فوق.