كيف تدير Azure Databricks توافق ميزات Delta Lake؟

Delta Lake هو مشروع مستقل مفتوح المصدر تحت إدارة مؤسسة Linux. يقدم Databricks دعما لميزات Delta Lake الجديدة والتحسينات التي تعتمد على Delta Lake في إصدارات Databricks Runtime.

تحترم تحسينات Azure Databricks التي تستفيد من ميزات Delta Lake البروتوكولات المستخدمة في OSS Delta Lake للتوافق.

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

إشعار

يمكنك إسقاط deletionVectors و v2Checkpoint على Azure Databricks. راجع ميزات جدول Drop Delta.

هام

تتعارض جميع عمليات تغيير البروتوكول مع جميع عمليات الكتابة المتزامنة.

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

ما هي ميزات Delta Lake التي تتطلب ترقيات وقت تشغيل Databricks؟

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

ميزة يتطلب إصدار وقت تشغيل Databricks أو أحدث الوثائق
CHECK قيود Databricks Runtime 9.1 LTS تعيين قيد CHECK في Azure Databricks
تغيير موجز البيانات Databricks Runtime 9.1 LTS استخدام موجز بيانات تغيير Delta Lake على Azure Databricks
الأعمدة التي تم إنشاؤها Databricks Runtime 9.1 LTS الأعمدة التي تم إنشاؤها بواسطة Delta Lake
تعيين العمود Databricks Runtime 10.4 LTS إعادة تسمية الأعمدة وإفلاتها باستخدام تعيين عمود Delta Lake
أعمدة الهوية Databricks Runtime 10.4 LTS استخدام أعمدة الهوية في Delta Lake
ميزات الجدول Databricks Runtime 12.1 (غير مدعوم) ما هي ميزات الجدول؟
متجهات الحذف Databricks Runtime 12.1 (غير مدعوم) ما هي متجهات الحذف؟
TimestampNTZ Databricks Runtime 13.0 (غير مدعوم) نوع TIMESTAMP_NTZ
موحده Databricks Runtime 13.2 (غير مدعوم) توافق التنسيق العالمي (UniForm) ل Iceberg مع جداول Delta
تكوين أنظمة المجموعات السائلة Databricks Runtime 13.3 LTS استخدام التجميع السائل لجداول دلتا

راجع إصدارات ملاحظات إصدار Databricks Runtime والتوافق.

إشعار

تقوم Delta Live Tables وDatabricks SQL بترقية بيئات وقت التشغيل تلقائيا بإصدارات منتظمة لدعم الميزات الجديدة. راجع ملاحظات إصدار Delta Live Tables وعملية ترقية الإصدار وملاحظات إصدار Databricks SQL.

ما هي مواصفات بروتوكول الجدول؟

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

يتم فصل مواصفات البروتوكول إلى مكونين: بروتوكول القراءة وبروتوكول الكتابة.

تحذير

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

تتوفر إصدارات البروتوكول المخفضة لبعض الميزات. راجع ميزات جدول Drop Delta.

بروتوكول القراءة

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

هام

يجب أن تكون جميع التطبيقات التي تكتب إلى جدول Delta قادرة على إنشاء لقطة للجدول. على هذا النحو، يجب أن تحترم أحمال العمل التي تكتب إلى جداول Delta متطلبات بروتوكول القارئ والكاتب.

إذا واجهت بروتوكولا غير مدعوم من قبل حمل عمل على Azure Databricks، يجب الترقية إلى وقت تشغيل Databricks أعلى يدعم هذا البروتوكول.

بروتوكول الكتابة

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

ما هي البروتوكولات التي يجب ترقيتها؟

تتطلب بعض الميزات ترقية كل من بروتوكول القراءة وبروتوكول الكتابة. تتطلب الميزات الأخرى ترقية بروتوكول الكتابة فقط.

على سبيل المثال، دعم CHECK القيود هو ميزة بروتوكول الكتابة: تحتاج كتابة التطبيقات فقط إلى معرفة CHECK القيود وفرضها.

في المقابل، يتطلب تعيين العمود ترقية بروتوكولي القراءة والكتابة. نظرا لأنه يتم تخزين البيانات بشكل مختلف في الجدول، يجب أن تفهم تطبيقات القارئ تعيين العمود حتى تتمكن من قراءة البيانات بشكل صحيح.

الحد الأدنى لإصدارات القارئ والكاتب

إشعار

يجب ترقية إصدار بروتوكول الجدول بشكل صريح عند تمكين تعيين العمود.

عند تمكين ميزات Delta على جدول، تتم ترقية بروتوكول الجدول تلقائيا. توصي Databricks بعدم تغيير minReaderVersion خصائص الجدول و minWriterVersion . لا يمنع تغيير خصائص الجدول هذه ترقية البروتوكول. لا يؤدي تعيين هذه القيم إلى قيمة أقل إلى الرجوع إلى الجدول. راجع ميزات جدول Drop Delta.

ما هي ميزات الجدول؟

في Databricks Runtime 12.2 LTS وما فوق، تقدم ميزات جدول Delta Lake علامات دقيقة تحدد الميزات التي يدعمها جدول معين. في Databricks Runtime 11.3 LTS والإصدارات أدناه، تم تمكين ميزات Delta Lake في حزم تسمى إصدارات البروتوكول. ميزات الجدول هي اللاحقة لإصدارات البروتوكول وتم تصميمها بهدف تحسين المرونة للعملاء الذين يقرؤون Delta Lake ويكتبونها. راجع ما هو إصدار البروتوكول؟.

إشعار

تحتوي ميزات الجدول على متطلبات إصدار البروتوكول. راجع الميزات حسب إصدار البروتوكول.

ميزة جدول Delta هي علامة تشير إلى أن الجدول يدعم ميزة معينة. كل ميزة هي إما ميزة بروتوكول الكتابة (بمعنى أنها ترقية بروتوكول الكتابة فقط) أو ميزة بروتوكول القراءة/الكتابة (ما يعني ترقية كل من بروتوكولات القراءة والكتابة لتمكين الميزة).

لمعرفة المزيد حول ميزات الجدول المدعومة في Delta Lake، راجع بروتوكول Delta Lake.

هل تغير ميزات الجدول كيفية تمكين ميزات Delta Lake؟

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

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

هام

يتم تقديم ميزات الجدول لتنسيق Delta Lake للكاتب الإصدار 7 والقارئ الإصدار 3. يحتوي Azure Databricks على تعليمات برمجية مدعمة لجميع إصدارات Databricks Runtime LTS المدعومة لإضافة دعم لميزات الجدول، ولكن فقط لتلك الميزات المدعومة بالفعل في وقت تشغيل Databricks هذا. وهذا يعني أنه بينما يمكنك الاشتراك في استخدام ميزات الجدول لتمكين الأعمدة التي تم إنشاؤها ولا تزال تعمل مع هذه الجداول في Databricks Runtime 9.1 LTS، لا تزال الجداول التي تم تمكين أعمدة الهوية بها (والتي تتطلب Databricks Runtime 10.4 LTS) غير مدعومة في وقت تشغيل Databricks هذا.

ما هو إصدار البروتوكول؟

إصدار البروتوكول هو رقم بروتوكول يشير إلى تجميع معين لميزات الجدول. في Databricks Runtime 11.3 LTS والإسفل، لا يمكنك تمكين ميزات الجدول بشكل فردي. تجمع إصدارات البروتوكول مجموعة من الميزات.

تحدد جداول دلتا إصدار بروتوكول منفصلا لبروتوكول القراءة وبروتوكول الكتابة. يحتوي سجل المعاملات لجدول Delta على معلومات إصدار البروتوكول التي تدعم تطور Delta Lake. راجع مراجعة تفاصيل جدول Delta Lake مع تفاصيل الوصف.

تجمع إصدارات البروتوكول جميع الميزات من البروتوكولات السابقة. راجع الميزات حسب إصدار البروتوكول.

إشعار

بدءا من الإصدار 7 للكاتب والقارئ الإصدار 3، قدمت Delta Lake مفهوم ميزات الجدول. باستخدام ميزات الجدول، يمكنك الآن اختيار تمكين تلك الميزات التي يدعمها عملاء آخرون في النظام البنائي للبيانات فقط. راجع ما هي ميزات الجدول؟.

الميزات حسب إصدار البروتوكول

يعرض الجدول التالي الحد الأدنى من إصدارات البروتوكول المطلوبة لميزات Delta Lake.

إشعار

إذا كنت مهتما فقط بتوافق Databricks Runtime، فشاهد ما هي ميزات Delta Lake التي تتطلب ترقيات وقت تشغيل Databricks؟. تدعم "مشاركة دلتا" فقط قراءة الجداول مع الميزات التي تتطلب minReaderVersion = 1.

ميزة minWriterVersion minReaderVersion الوثائق
الوظائف الأساسية 2 1 ما هو Delta Lake؟
CHECK قيود 3 1 تعيين قيد CHECK في Azure Databricks
تغيير موجز البيانات 4 1 استخدام موجز بيانات تغيير Delta Lake على Azure Databricks
الأعمدة التي تم إنشاؤها 4 1 الأعمدة التي تم إنشاؤها بواسطة Delta Lake
تعيين العمود 5 2 إعادة تسمية الأعمدة وإفلاتها باستخدام تعيين عمود Delta Lake
أعمدة الهوية 6 2 استخدام أعمدة الهوية في Delta Lake
قراءة ميزات الجدول 7 1 ما هي ميزات الجدول؟
كتابة ميزات الجدول 7 3 ما هي ميزات الجدول؟
متجهات الحذف 7 3 ما هي متجهات الحذف؟
TimestampNTZ 7 3 نوع TIMESTAMP_NTZ
تكوين أنظمة المجموعات السائلة 7 3 استخدام التجميع السائل لجداول دلتا
موحده 7 2 توافق التنسيق العالمي (UniForm) ل Iceberg مع جداول Delta