جدول REORG

ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime 11.3 LTS وما فوق

أعد تنظيم جدول Delta Lake عن طريق إعادة كتابة الملفات لإزالة البيانات المحذوفة مبدئيا، مثل بيانات العمود التي تم إسقاطها بواسطة ALTER TABLE DROP COLUMN.

بناء الجملة

REORG TABLE table_name { [ WHERE predicate ] APPLY ( PURGE ) |
                         APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )

إشعار

  • APPLY (PURGE) يعيد فقط كتابة الملفات التي تحتوي على بيانات محذوفة بشكل مبدئي.
  • APPLY (UPGRADE) قد يعيد كتابة كافة الملفات.
  • REORG TABLE غير فعال، ما يعني أنه إذا تم تشغيله مرتين على نفس مجموعة البيانات، فلن يكون للتشغيل الثاني أي تأثير.
  • بعد تشغيل APPLY (PURGE)، قد تظل البيانات المحذوفة مبدئيا موجودة في الملفات القديمة. يمكنك تشغيل فراغ لحذف الملفات القديمة فعليا.

المعلمات

  • table_name

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

  • WHEREالمسند

    بالنسبة إلى APPLY (PURGE)، يعيد تنظيم الملفات التي تطابق دالة تقييم القسم المحددة. يتم دعم عوامل التصفية التي تتضمن سمات مفتاح القسم فقط.

  • APPLY (PURGE)

    يحدد أن الغرض من إعادة كتابة الملف هو إزالة البيانات المحذوفة مبدئيا. راجع حذف بيانات التعريف فقط لفرض إعادة كتابة البيانات.

  • APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))

    ينطبق على:وضع علامة Databricks Runtime 14.3 وما فوق

    يحدد أن الغرض من إعادة كتابة الملف هو ترقية الجدول إلى إصدار Iceberg المحدد. version يجب أن يكون إما 1 أو 2.

الأمثلة

> REORG TABLE events APPLY (PURGE);

> REORG TABLE events WHERE date >= '2022-01-01' APPLY (PURGE);

> REORG TABLE events
    WHERE date >= current_timestamp() - INTERVAL '1' DAY
    APPLY (PURGE);

> REORG TABLE events APPLY (UPGRADE UNIFORM(ICEBERG_COMPAT_VERSION=2));