التحسين التنبؤي ل Delta Lake

هام

هذه الميزة في المعاينة العامة.

يزيل التحسين التنبؤي الحاجة إلى إدارة عمليات الصيانة يدويا لجداول Delta على Azure Databricks.

مع تمكين التحسين التنبؤي، يحدد Azure Databricks تلقائيا الجداول التي من شأنها الاستفادة من عمليات الصيانة وتشغيلها للمستخدم. يتم تشغيل عمليات الصيانة فقط حسب الضرورة، ما يلغي كلا من عمليات التشغيل غير الضرورية لعمليات الصيانة والعبء المرتبط بأداء التعقب واستكشاف الأخطاء وإصلاحها.

ما هي العمليات التي يعمل بها التحسين التنبؤي؟

يقوم التحسين التنبؤي بتشغيل العمليات التالية تلقائيا لجداول Delta الممكنة:

العملية ‏‏الوصف
OPTIMIZE تحسين أداء الاستعلام عن طريق تحسين أحجام الملفات. راجع ملفات البيانات المضغوطة مع التحسين على Delta Lake.
VACUUM يقلل من تكاليف التخزين عن طريق حذف ملفات البيانات التي لم يعد الجدول يشير إليها. راجع إزالة ملفات البيانات غير المستخدمة باستخدام فراغ.

إشعار

OPTIMIZE لا يتم تشغيله ZORDER عند تنفيذه بتحسين تنبؤي.

تحذير

يتم تحديد نافذة الاستبقاء للأمر VACUUM بواسطة delta.deletedFileRetentionDuration خاصية الجدول، والتي يتم تعيينها افتراضيا إلى 7 أيام. وهذا يعني VACUUM إزالة ملفات البيانات التي لم تعد مشار إليها بواسطة إصدار جدول Delta في آخر 7 أيام. إذا كنت ترغب في الاحتفاظ بالبيانات لفترة أطول (مثل دعم السفر لفترة أطول)، فيجب عليك تعيين خاصية الجدول هذه بشكل مناسب قبل تمكين التحسين التنبؤي، كما في المثال التالي:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');

أين يتم تشغيل التحسين التنبؤي؟

يحدد التحسين التنبؤي الجداول التي من شأنها الاستفادة من OPTIMIZEVACUUM العمليات ووضعها في قائمة الانتظار للتشغيل باستخدام حساب المهام. تتم فوترة حسابك للحوسبة المقترنة بأحمال العمل هذه باستخدام SKU خاص بخدمات Databricks المدارة. راجع تسعير الخدمات المدارة في Databricks. يوفر Azure Databricks جداول النظام لقابلية المراقبة في عمليات التحسين التنبؤي والتكاليف والتأثير. راجع استخدام جداول النظام لتتبع التحسين التنبؤي.

إشعار

لا يقوم التحسين التنبؤي بتشغيل OPTIMIZE الأوامر على الجداول التي تستخدم التجميع السائل.

المتطلبات الأساسية للتحسين التنبؤي

يجب عليك تلبية المتطلبات التالية لتمكين التحسين التنبؤي:

  • يجب أن تكون مساحة عمل Azure Databricks الخاصة بك على خطة Premium في منطقة تدعم التحسين التنبؤي. راجع مناطق Azure Databricks.

  • يجب استخدام مستودعات SQL أو Databricks Runtime 12.2 LTS أو أعلى عند تمكين التحسين التنبؤي.

  • يتم دعم الجداول المدارة في كتالوج Unity فقط.

  • إذا كنت تحتاج إلى اتصال خاص لحسابات التخزين الخاصة بك، يجب تكوين اتصال خاص بلا خادم. راجع تكوين الاتصال الخاص من الحوسبة بلا خادم.

تمكين التحسين التنبؤي

يجب تمكين التحسين التنبؤي على مستوى الحساب.

يجب أن يكون لديك الامتيازات التالية لتمكين التحسين التنبؤي أو تعطيله على المستوى المحدد:

كائن كتالوج Unity Privilege
العميل مسؤول الحساب
Catalog مالك الكاتالوج
مخطط مالك المخطط

إشعار

عند تمكين التحسين التنبؤي للمرة الأولى، يقوم Azure Databricks تلقائيا بإنشاء كيان خدمة في حساب Azure Databricks الخاص بك. يستخدم Azure Databricks كيان الخدمة هذا لتنفيذ عمليات الصيانة المطلوبة. راجع إدارة كيانات الخدمة.

تمكين التحسين التنبؤي لحسابك

يجب على مسؤول الحساب إكمال الخطوات التالية لتمكين التحسين التنبؤي لجميع المخازن الوصفية في الحساب:

  1. الوصول إلى وحدة تحكم الحسابات.
  2. انتقل إلى الإعدادات، ثم تمكين الميزة.
  3. حدد Enabled بجوار Predictive optimization.

إشعار

لا يتم تمكين Metastores في المناطق التي لا تدعم التحسين التنبؤي.

تمكين التحسين التنبؤي لكتالوج أو مخطط أو تعطيله

يستخدم التحسين التنبؤي نموذج توريث. عند تمكين كتالوج، ترث المخططات الخاصية . ترث الجداول داخل مخطط ممكن التحسين التنبؤي. لتجاوز سلوك التوريث هذا، يمكنك تعطيل التحسين التنبؤي لكتالوج أو مخطط بشكل صريح.

إشعار

يمكنك تعطيل التحسين التنبؤي على مستوى الكتالوج أو المخطط قبل تمكينه على مستوى الحساب. إذا تم تمكين التحسين التنبؤي لاحقا على الحساب، يتم حظره للجداول في هذه الكائنات.

استخدم بناء الجملة التالي لتمكين التحسين التنبؤي أو تعطيله:

ALTER CATALOG [catalog_name] {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;
ALTER {SCHEMA | DATABASE} schema_name {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;

التحقق مما إذا كان التحسين التنبؤي ممكنا

Predictive Optimization الحقل هو خاصية كتالوج Unity توضح بالتفصيل ما إذا تم تمكين التحسين التنبؤي. إذا تم توريث التحسين التنبؤي من كائن أصل، تتم الإشارة إلى ذلك في قيمة الحقل.

استخدم بناء الجملة التالي لمعرفة ما إذا كان التحسين التنبؤي ممكنا:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

استخدام جداول النظام لتعقب التحسين التنبؤي

يوفر Azure Databricks جدول نظام لتتبع محفوظات عمليات التحسين التنبؤية. راجع مرجع جدول نظام التحسين التنبؤي.

القيود

لا يتوفر التحسين التنبؤي في جميع المناطق. راجع مناطق Azure Databricks.

لا يقوم التحسين التنبؤي بتشغيل OPTIMIZE الأوامر على الجداول التي تستخدم التجميع السائل أو ترتيب Z.

لا يؤدي التحسين التنبؤي عمليات الصيانة على الجداول التالية: