ميزات جدول Drop Delta
هام
يتوفر دعم إسقاط ميزات جدول Delta وإصدارات بروتوكول الرجوع إلى إصدارات في المعاينة العامة في Databricks Runtime 14.1 والإصدارات الأحدث.
يوفر Azure Databricks دعما محدودا لإسقاط ميزات الجدول. لإسقاط ميزة جدول، يجب أن يحدث ما يلي:
- تعطيل خصائص الجدول التي تستخدم ميزة الجدول.
- إزالة كافة آثار ميزة الجدول من ملفات البيانات التي تدعم الجدول.
- إزالة إدخالات المعاملة التي تستخدم ميزة الجدول من سجل المعاملات.
- الرجوع إلى إصدار أدنى من بروتوكول الجدول.
حيثما يكون مدعوما، يجب عليك فقط استخدام هذه الوظيفة لدعم التوافق مع إصدارات وقت تشغيل Databricks السابقة أو Delta Sharing أو عملاء آخرين من قارئ أو كاتب Delta Lake.
هام
تتعارض جميع DROP FEATURE
العمليات مع جميع عمليات الكتابة المتزامنة.
تفشل قراءات الدفق عندما تواجه تثبيتا يغير بيانات تعريف الجدول. إذا كنت تريد أن يستمر الدفق، فيجب إعادة تشغيله. للحصول على الأساليب الموصى بها، راجع اعتبارات الإنتاج للبث المنظم.
كيف يمكنني إسقاط ميزة جدول Delta؟
لإزالة ميزة جدول Delta، يمكنك تشغيل أمر ALTER TABLE <table-name> DROP FEATURE <feature-name> [TRUNCATE HISTORY]
. راجع ALTER TABLE.
يجب استخدام Databricks Runtime 14.1 أو أعلى وأن يكون لديك MODIFY
امتيازات على جدول Delta الهدف.
ما هي ميزات جدول Delta التي يمكن إسقاطها؟
يمكنك إسقاط ميزات جدول Delta التالية:
deletionVectors
. راجع ما هي متجهات الحذف؟.v2Checkpoint
. راجع التوافق للجداول ذات التجميع السائل.columnMapping
. راجع إعادة تسمية الأعمدة وإفلاتها باستخدام تعيين عمود Delta Lake.typeWidening-preview
. راجع توسيع النوع.checkConstraints
. راجع القيود على Azure Databricks.
لا يمكنك إسقاط ميزات جدول Delta الأخرى.
تمكين ميزات الجدول لإسقاط الميزات القديمة
DROP FEATURE
يتطلب الأمر إصدارات البروتوكول التي تدعم قراءة ميزة الجدول وكتابتها. تم دعم ميزات دلتا مثل columnMapping
و checkConstraints
في إصدارات البروتوكول السابقة. اعتمادا على الميزات الأخرى التي تم تمكينها على الجدول، قد تحتاج إلى ترقية إصدارات البروتوكول قبل أن تتمكن من إسقاط هذه الميزات.
يمكنك استخدام الأمر التالي لترقية إصدارات قارئ الجدول والكاتب، والذي يسمح لك بإسقاط تعيين العمود والرجوع إلى إصدار أحدث من البروتوكول:
ALTER TABLE <table-name> SET TBLPROPERTIES (
'delta.minReaderVersion' = '3',
'delta.minWriterVersion' = '7'
)
كيف يتم إسقاط ميزات جدول Delta؟
نظرا لأن ميزات جدول Delta تمثل بروتوكولات القارئ والكاتب، يجب أن تكون غائبة تماما عن سجل المعاملات لإزالتها بالكامل. يحدث إسقاط ميزة على مرحلتين ويتطلب وقتا للانقضاض قبل الاكتمال. تختلف تفاصيل إزالة الميزات حسب الميزة، ولكن يوفر القسم التالي نظرة عامة.
الاستعداد لإسقاط ميزة جدول
أثناء المرحلة الأولى، يستعد المستخدم لإسقاط ميزة الجدول. يصف ما يلي ما يحدث خلال هذه المرحلة:
- يقوم المستخدم بتشغيل
DROP FEATURE
الأمر . - تحتوي خصائص الجدول التي تمكن ميزة الجدول على وجه التحديد على قيم معينة لتعطيل الميزة.
- تحتوي خصائص الجدول التي تتحكم في السلوكيات المقترنة بالميزة التي تم إسقاطها على خيارات معينة إلى القيم الافتراضية قبل تقديم الميزة.
- عند الضرورة، تتم إعادة كتابة ملفات البيانات وبيانات التعريف احترام خصائص الجدول المحدثة.
- ينتهي الأمر من التشغيل ويعيد رسالة خطأ تعلم المستخدم بأنه يجب عليه الانتظار 24 ساعة لمتابعة إزالة الميزة.
بعد تعطيل ميزة أولا، يمكنك متابعة الكتابة إلى الجدول الهدف قبل إكمال تخفيض البروتوكول، ولكن لا يمكنك استخدام ميزة الجدول التي تقوم بإزالتها.
إشعار
إذا تركت الجدول في هذه الحالة، فلن تستخدم العمليات مقابل الجدول ميزة الجدول، ولكن لا يزال البروتوكول يدعم ميزة الجدول. حتى تكمل خطوة الرجوع النهائية، لا يمكن لعملاء Delta قراءة الجدول الذين لا يفهمون ميزة الجدول.
الرجوع إلى الإصدار الأدنى من البروتوكول وإفلات ميزة جدول
لإسقاط ميزة الجدول، يجب إزالة كافة محفوظات المعاملات المقترنة بالميزة وخفض البروتوكول.
- بعد مرور 24 ساعة على الأقل، ينفذ
DROP FEATURE
المستخدم الأمر مرة أخرى باستخدامTRUNCATE HISTORY
عبارة . - يؤكد العميل أنه لا توجد معاملات في حد الاستبقاء المحدد تستخدم ميزة الجدول، ثم اقتطاع محفوظات الجدول إلى هذا الحد.
- يتم تخفيض البروتوكول، وإسقاط ميزة الجدول.
- إذا كان يمكن تمثيل ميزات الجدول الموجودة في الجدول بإصدار بروتوكول قديم،
minReaderVersion
تخفيض وminWriterVersion
للجدول إلى أدنى إصدار يدعم تماما جميع الميزات المتبقية المستخدمة بواسطة جدول Delta.
هام
يؤدي التشغيل ALTER TABLE <table-name> DROP FEATURE <feature-name> TRUNCATE HISTORY
إلى إزالة كافة بيانات سجل المعاملات الأقدم من 24 ساعة. بعد إسقاط ميزة جدول Delta، لا يمكنك الوصول إلى محفوظات الجدول أو السفر عبر الزمن.