مشاركة عبر


استخدام تعقب الصفوف لجداول دلتا

يسمح تعقب صف Delta Lake ل Azure Databricks بتعقب دورة حياة مستوى الصف في جدول Delta. هذه الميزة مطلوبة لبعض التحديثات المتزايدة لطرق العرض المجسدة.

هام

يتوفر تعقب صف Delta Lake في Databricks Runtime 14.1 وما فوق.

تتبع الصفوف هو ميزة جدول ويستخدم بروتوكول كاتب جدول أعلى من بعض عملاء Delta Lake. لا يمكن تخفيض إصدارات بروتوكول الجدول، والجداول التي تم تمكين تعقب الصفوف بها غير قابلة للكتابة بواسطة عملاء Delta Lake الذين لا يدعمون جميع ميزات جدول بروتوكول كاتب Delta الممكنة. راجع كيف تدير Azure Databricks توافق ميزة Delta Lake؟.

تمكين تعقب الصفوف

يجب تمكين تعقب الصفوف بشكل صريح عن طريق تعيين خاصية delta.enableRowTracking = trueالجدول .

يمكنك القيام بذلك أثناء إنشاء الجدول، كما في المثال التالي:

CREATE TABLE table_name
TBLPROPERTIES (delta.enableRowTracking = true)
AS SELECT * FROM source_table;

يمكنك تغيير جدول موجود لتمكين تعقب الصفوف، كما في المثال التالي:

ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = true);

هام

يؤدي تمكين تعقب الصفوف على الجداول الموجودة تلقائيا إلى تعيين معرفات الصفوف وإصدارات تثبيت الصف إلى كافة الصفوف الموجودة في الجدول. يمكن أن تؤدي هذه العملية إلى إنشاء إصدارات جديدة متعددة من الجدول وقد تستغرق قدرا كبيرا من الوقت.

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

ما هو مخطط حقول بيانات التعريف لتعقب الصف؟

يضيف تعقب الصفوف حقلين مخفيين لبيانات التعريف إلى الجدول. يمكنك إضافة هذه الحقول بشكل صريح إلى الاستعلام الخاص بك لإرجاع القيم.

اسم العمود نوع القيم الشرح
_metadata.row_id طويل المعرف الفريد للصف. يحتفظ الصف بنفس المعرف كلما تم تعديله باستخدام عبارة MERGE أو UPDATE .
_metadata.row_commit_version طويل إصدار سجل أو جدول Delta الذي تم فيه آخر إدراج للصف أو تحديثه. يتم تعيين إصدار جديد للصف كلما تم تعديله باستخدام عبارة MERGE أو UPDATE .

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

تعطيل تعقب الصفوف

يمكنك تعطيل تعقب الصفوف عن طريق تعيين خاصية الجدول إلى false.

ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = false);

هام

لا يؤدي تعطيل تعقب الصفوف إلى إزالة ميزة الجدول المقابلة ولا يؤدي إلى الرجوع إلى إصدار بروتوكول الجدول. كما أنه لا يزيل حقول بيانات التعريف من الجدول الهدف.

مع تعطيل تعقب الصفوف، لم تعد معرفات الصفوف التي تم إنشاؤها موثوقة لتعقب الصفوف الفريدة.

القيود

لا يمكن الوصول إلى معرفات الصف وحقول بيانات التعريف الخاصة بإصدارات تثبيت الصف أثناء قراءة موجز بيانات التغيير. راجع استخدام موجز بيانات تغيير Delta Lake على Azure Databricks.