إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime
يقوم هذا الأمر بتحديث بيانات تعريف جدول Delta إلى خدمة كتالوج Unity. بالنسبة للجداول غير التابعة ل Delta، فإنه يقوم بإصلاح أقسام الجدول وتحديث Hive metastore.
- جداول دلتا: عند تنفيذها باستخدام جداول Delta باستخدام الوسيطة
SYNC METADATA، يقرأ هذا الأمر سجل دلتا للجدول الهدف ويحدث معلومات بيانات التعريف إلى خدمة كتالوج Unity. - جداول غير دلتا: عند تنفيذها مع جداول غير دلتا، يسترد هذا الأمر جميع الأقسام في دليل جدول غير دلتا ويحدث Hive metastore.
بناء الجملة
[ MSCK ] REPAIR TABLE table_name
{
[ {ADD | DROP | SYNC} PARTITIONS] | SYNC METADATA
}
بالنسبة إلى
Databricks SQL
Databricks Runtime 12.2 LTS وما فوق، MSCK هو اختياري.
المعلمات
-
اسم الجدول. إذا تعذر العثور على الجدول، فإن Azure Databricks يثير خطأ TABLE_OR_VIEW_NOT_FOUND .
ADDأوDROPأوSYNCPARTITIONSينطبق على:
Databricks SQL
Databricks Runtime 10.4 LTS وما فوقعند إنشاء جدول غير Delta باستخدام
PARTITIONED BYعبارة ، يتم إنشاء الأقسام وتسجيلها في Hive metastore. ومع ذلك، إذا قمت بإنشاء الجدول المقسم من البيانات الموجودة، فلن يتم تسجيل الأقسام تلقائيا في Hive metastore. قم بتشغيلMSCK REPAIR TABLEلتسجيل الأقسام.طريقة أخرى لاسترداد الأقسام هي استخدام ALTER TABLE RECOVER PARTITIONS.
إذا تم تخزين الجدول مؤقتا، يقوم الأمر بمسح البيانات المخزنة مؤقتا للجدول وجميع التوابع التي تشير إليه. تملأ ذاكرة التخزين المؤقت في المرة التالية التي يتم فيها الوصول إلى الجدول أو التوابع.
- يضيف الأمر ADD أقساما جديدة إلى كتالوج جلسة العمل لكافة المجلدات الفرعية في مجلد الجدول الأساسي الذي لا ينتمي إلى أي أقسام جدول. ADD هي الوسيطة الافتراضية إذا لم يتم تحديد خيار آخر.
- يسقط أمر DROP جميع الأقسام من كتالوج جلسة العمل التي تحتوي على مواقع غير موجودة في نظام الملفات.
- SYNC هو مزيج من DROP وAD.
**
SYNC METADATA**يقرأ سجل دلتا للجدول الهدف ويحدث معلومات بيانات التعريف في خدمة كتالوج Unity. لتشغيل هذا الأمر، يجب أن يكون لديك امتيازات MODIFY و SELECT على الجدول الهدف واستخدام المخطط والكتالوج الأصل. سيفشل هذا الأمر مع هذه الوسيطة إذا لم يتم تخزين الجدول الهدف في كتالوج Unity.
إذا تم تمكين Delta UniForm،
SYNC METADATAيقوم بتشغيل التحويل اليدوي لبيانات تعريف Delta الحالية إلى بيانات تعريف Iceberg ومزامنة أحدث إصدار Iceberg لنقطة نهاية Unity Catalog Iceberg. راجع استخدام UniForm لقراءة جداول Delta مع عملاء Iceberg.
أمثلة (جداول غير Delta Lake)
-- create a partitioned table from existing data /tmp/namesAndAges.parquet
> CREATE TABLE t1 (name STRING, age INT) USING parquet PARTITIONED BY (age)
LOCATION "/tmp/namesAndAges.parquet";
-- SELECT * FROM t1 does not return results
> SELECT * FROM t1;
-- run MSCK REPAIR TABLE to recovers all the partitions
> MSCK REPAIR TABLE t1;
-- SELECT * FROM t1 returns results
> SELECT * FROM t1;
name age
------- ---
Michael 20
Justin 19
Andy 30
مثال (جدول كتالوج Unity)
-- run MSCK REPAIR TABLE t1 SYNC METADATA to update the metadata info to Unity Catalog service
> MSCK REPAIR TABLE t1 SYNC METADATA