دمج تبديل عشوائي منخفض على 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 وما فوق.