ما Delta Lake؟
Delta Lake هي طبقة التخزين المحسنة التي توفر الأساس للجداول في مستودع على Databricks. Delta Lake هو برنامج مصدر مفتوح يوسع ملفات بيانات Parquet مع سجل معاملات مستند إلى ملف لمعاملات ACID ومعالجة بيانات التعريف القابلة للتطوير. Delta Lake متوافق تماما مع واجهات برمجة تطبيقات Apache Spark، وتم تطويره للتكامل المحكم مع Structured Streaming، ما يسمح لك بسهولة استخدام نسخة واحدة من البيانات لكل من عمليات الدفعات والتدفق وتوفير المعالجة المتزايدة على نطاق واسع.
Delta Lake هو التنسيق الافتراضي لجميع العمليات على Azure Databricks. ما لم يتم تحديد خلاف ذلك، فإن جميع الجداول على Azure Databricks هي جداول دلتا. قامت Databricks في الأصل بتطوير بروتوكول Delta Lake وتستمر في المساهمة بنشاط في مشروع مصدر مفتوح. تعتمد العديد من التحسينات والمنتجات في منصة Databricks على الضمانات المقدمة من Apache Spark وDelta Lake. للحصول على معلومات حول التحسينات على Azure Databricks، راجع توصيات التحسين على Azure Databricks.
للحصول على معلومات مرجعية حول أوامر Delta Lake SQL، راجع عبارات Delta Lake.
يحتوي سجل معاملات Delta Lake على بروتوكول مفتوح محدد جيدا يمكن استخدامه من قبل أي نظام لقراءة السجل. راجع بروتوكول سجل معاملات دلتا.
بدء استخدام Delta Lake
جميع الجداول على Azure Databricks هي جداول دلتا بشكل افتراضي. سواء كنت تستخدم Apache Spark DataFrames أو SQL، يمكنك الحصول على جميع مزايا Delta Lake فقط عن طريق حفظ بياناتك في lakehouse مع الإعدادات الافتراضية.
للحصول على أمثلة لعمليات Delta Lake الأساسية مثل إنشاء الجداول وقراءة البيانات وكتابتها وتحديثها، راجع البرنامج التعليمي: Delta Lake.
يحتوي Databricks على العديد من التوصيات لأفضل الممارسات ل Delta Lake.
تحويل البيانات واستيعابها إلى Delta Lake
يوفر Azure Databricks عددا من المنتجات لتسريع وتبسيط تحميل البيانات إلى مستودعك.
- Delta Live Tables:
- نسخ إلى
- محمل تلقائي
- إضافة واجهة مستخدم البيانات
- تحويل بيانات Parquet أو Iceberg بشكل متزايد إلى Delta Lake
- تحويل بيانات Parquet أو Iceberg لمرة واحدة إلى Delta Lake
- شركاء الجهات الخارجية
للحصول على قائمة كاملة بخيارات الاستيعاب، راجع استيعاب البيانات في مستودع Databricks.
تحديث وتعديل جداول Delta Lake
توفر المعاملات الذرية مع Delta Lake العديد من الخيارات لتحديث البيانات وبيانات التعريف. توصي Databricks بتجنب التفاعل مباشرة مع ملفات سجل البيانات والمعاملات في دلائل ملفات Delta Lake لتجنب إتلاف الجداول.
- يدعم Delta Lake عمليات upsert باستخدام عملية الدمج. راجع Upsert في جدول Delta Lake باستخدام الدمج.
- يوفر Delta Lake العديد من الخيارات للكتابة فوق الانتقائية استنادا إلى عوامل التصفية والأقسام. راجع الكتابة فوق البيانات بشكل انتقائي باستخدام Delta Lake.
- يمكنك تحديث مخطط الجدول يدويا أو تلقائيا دون إعادة كتابة البيانات. راجع تحديث مخطط جدول Delta Lake.
- تمكين تعيين الأعمدة لإعادة تسمية الأعمدة أو حذفها دون إعادة كتابة البيانات. راجع إعادة تسمية الأعمدة وإفلاتها باستخدام تعيين عمود Delta Lake.
أحمال العمل المتزايدة والمتدفقة على Delta Lake
تم تحسين Delta Lake للبث المنظم على Azure Databricks. توسع Delta Live Tables القدرات الأصلية من خلال نشر البنية الأساسية المبسطة والتحجيم المحسن وتبعيات البيانات المدارة.
الاستعلام عن الإصدارات السابقة من جدول
تنشئ كل كتابة إلى جدول Delta إصدار جدول جديد. يمكنك استخدام سجل المعاملات لمراجعة التعديلات على الجدول والاستعلام عن إصدارات الجدول السابقة. راجع العمل مع محفوظات جدول Delta Lake.
تحسينات مخطط Delta Lake
تتحقق Delta Lake من صحة المخطط عند الكتابة، مما يضمن تطابق جميع البيانات المكتوبة في جدول مع المتطلبات التي قمت بتعيينها.
- فرض المخطط
- القيود المفروضة على Azure Databricks
- الأعمدة التي تم إنشاؤها بواسطة Delta Lake
- إثراء جداول Delta Lake ببيانات تعريف مخصصة
إدارة الملفات وفهرسة البيانات باستخدام Delta Lake
يعين Azure Databricks العديد من المعلمات الافتراضية ل Delta Lake التي تؤثر على حجم ملفات البيانات وعدد إصدارات الجدول التي يتم الاحتفاظ بها في المحفوظات. يستخدم Delta Lake مزيجا من تحليل بيانات التعريف وتخطيط البيانات الفعلية لتقليل عدد الملفات التي تم مسحها ضوئيا لتنفيذ أي استعلام.
- استخدام التجميع السائل لجداول دلتا
- تخطي البيانات ل Delta Lake
- تحسين تخطيط ملف البيانات
- إزالة ملفات البيانات غير المستخدمة باستخدام فراغ
- تكوين Delta Lake للتحكم في حجم ملف البيانات
تكوين إعدادات Delta Lake ومراجعتها
يخزن Azure Databricks جميع البيانات وبيانات التعريف لجداول Delta Lake في تخزين كائن السحابة. يمكن تعيين العديد من التكوينات إما على مستوى الجدول أو داخل جلسة Spark. يمكنك مراجعة تفاصيل جدول Delta لاكتشاف الخيارات التي تم تكوينها.
البنية الأساسية لبرنامج ربط العمليات التجارية للبيانات باستخدام Delta Lake وجداول Delta Live
تشجع Azure Databricks المستخدمين على الاستفادة من بنية الميدالية لمعالجة البيانات من خلال سلسلة من الجداول حيث يتم تنظيف البيانات وإثراءها. تعمل Delta Live Tables على تبسيط أحمال عمل ETL من خلال التنفيذ الأمثل ونشر البنية الأساسية التلقائية وتوسيع نطاقها.
توافق ميزة Delta Lake
لا توجد جميع ميزات Delta Lake في جميع إصدارات Databricks Runtime. للحصول على معلومات حول تعيين إصدار Delta Lake، راجع كيف تدير Azure Databricks توافق ميزات Delta Lake؟.
وثائق واجهة برمجة تطبيقات Delta Lake
بالنسبة لمعظم عمليات القراءة والكتابة على جداول Delta، يمكنك استخدام Spark SQL أو Apache Spark DataFrame APIs.
للحصول على عبارات SQL الخاصة ب Delta Lake، راجع عبارات Delta Lake.
يضمن Azure Databricks التوافق الثنائي مع واجهات برمجة تطبيقات Delta Lake في Databricks Runtime. لعرض إصدار Delta Lake API المحزم في كل إصدار من إصدارات وقت تشغيل Databricks، راجع قسم بيئة النظام في المقالة ذات الصلة في ملاحظات إصدار Databricks Runtime. للحصول على وثائق حول واجهات برمجة تطبيقات Delta Lake ل Python وSc scala وJava، راجع وثائق OSS Delta Lake.