فراغ

ينطبق على:check marked yes Databricks SQL check marked yes Databricks Runtime

إزالة الملفات غير المستخدمة من دليل جدول.

إشعار

يعمل هذا الأمر بشكل مختلف اعتمادا على ما إذا كنت تعمل على جدول Delta أو Apache Spark.

تفريغ جدول Delta

الدلائل المكنسة بشكل متكرر المقترنة بجدول Delta. للحصول على التفاصيل والقيود الكاملة، راجع إزالة ملفات البيانات غير المستخدمة مع وجود فراغ.

VACUUM إزالة كافة الملفات من دليل الجدول التي لم تتم إدارتها بواسطة Delta، بالإضافة إلى ملفات البيانات التي لم تعد في أحدث حالة من سجل المعاملات للجدول وهي أقدم من حد الاستبقاء. VACUUM سيتخطى جميع الدلائل التي تبدأ بتسطير أسفل السطر (_)، والذي يتضمن _delta_log. يعد تقسيم الجدول على عمود يبدأ بتسطير أسفل السطر استثناء لهذه القاعدة؛ VACUUM يفحص جميع الأقسام الصالحة المضمنة في جدول Delta الهدف. يتم حذف ملفات بيانات جدول Delta وفقا للوقت الذي تمت إزالتها منطقيا من سجل معاملات Delta بالإضافة إلى ساعات الاستبقاء، وليس الطوابع الزمنية للتعديل الخاصة بها على نظام التخزين. الحد الافتراضي هو 7 أيام.

في جداول Delta، لا يقوم VACUUM Azure Databricks بتشغيل العمليات تلقائيا.

إذا قمت بتشغيل VACUUM على جدول Delta، فستفقد القدرة على الانتقال مرة أخرى إلى إصدار أقدم من فترة استبقاء البيانات المحددة.

تحذير

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

لدى Delta Lake فحص أمان لمنعك من تشغيل أمر خطير VACUUM . في Databricks Runtime، أنت متأكد من عدم وجود عمليات يتم إجراؤها على هذا الجدول تستغرق وقتا أطول من الفاصل الزمني للاحتفاظ الذي تخطط لتحديده، يمكنك إيقاف تشغيل فحص الأمان هذا عن طريق تعيين خاصية spark.databricks.delta.retentionDurationCheck.enabled تكوين Spark إلى false.

VACUUM table_name [RETAIN num HOURS] [DRY RUN]

المعلمات

  • table_name

    تعريف جدول Delta موجود. يجب ألا يتضمن الاسم مواصفات زمنية.

  • استبقاء عدد الساعات

    حد الاستبقاء.

  • تشغيل جاف

    إرجاع قائمة تضم ما يصل إلى 1000 ملف ليتم حذفها.

تفريغ جدول غير دلتا

يقوم بتفريغ الدلائل المقترنة بجدول غير دلتا بشكل متكرر وإزالة الملفات غير الملتزم بها الأقدم من حد الاستبقاء. الحد الافتراضي هو 7 أيام.

في الجداول غير التابعة ل Delta، يقوم Azure Databricks تلقائيا بتشغيل VACUUM العمليات أثناء كتابة البيانات.

بناء الجملة

VACUUM table_name [RETAIN num HOURS]

المعلمات

  • table_name

    تعريف جدول موجود حسب الاسم أو المسار.

  • استبقاء عدد الساعات

    حد الاستبقاء.