تطوير خطوط أنابيب Delta Live Tables باستخدام حزم أصول Databricks
تمكنك حزم أصول Databricks، المعروفة أيضا ببساطة باسم الحزم، من التحقق برمجيا من صحة موارد Azure Databricks ونشرها وتشغيلها مثل خطوط أنابيب Delta Live Tables. راجع ما هي حزم أصول Databricks؟.
توضح هذه المقالة كيفية إنشاء حزمة لإدارة البنية الأساسية لبرنامج ربط العمليات التجارية برمجيا. راجع ما هي جداول Delta Live؟. يتم إنشاء الحزمة باستخدام قالب الحزمة الافتراضية Databricks Asset Bundles ل Python، والذي يتكون من دفتر ملاحظات مقترن بتعريف البنية الأساسية لبرنامج ربط العمليات التجارية والمهمة لتشغيلها. ثم تحقق من صحة البنية الأساسية لبرنامج ربط العمليات التجارية المنشورة ونشرها وتشغيلها في مساحة عمل Azure Databricks.
تلميح
إذا كان لديك مسارات موجودة تم إنشاؤها باستخدام واجهة مستخدم Azure Databricks أو واجهة برمجة التطبيقات التي تريد نقلها إلى الحزم، فيجب عليك تعريفها في ملفات تكوين المجموعة. توصي Databricks بإنشاء مجموعة أولا باستخدام الخطوات أدناه ثم التحقق من عمل المجموعة. يمكنك بعد ذلك إضافة تعريفات ودفاتر ملاحظات ومصادر أخرى إضافية إلى المجموعة. راجع إضافة تعريف مسار موجود إلى مجموعة.
المتطلبات
- Databricks CLI الإصدار 0.218.0 أو أعلى. للتحقق من الإصدار المثبت من Databricks CLI، قم بتشغيل الأمر
databricks -v
. لتثبيت Databricks CLI، راجع تثبيت Databricks CLI أو تحديثه. - يجب أن تحتوي مساحة العمل البعيدة على ملفات مساحة عمل ممكنة. راجع ما هي ملفات مساحة العمل؟.
(اختياري) تثبيت وحدة Python النمطية لدعم تطوير البنية الأساسية لبرنامج ربط العمليات التجارية المحلية
يوفر Databricks وحدة Python للمساعدة في التطوير المحلي للتعليمات البرمجية لمسار Delta Live Tables من خلال توفير التحقق من بناء الجملة والإكمال التلقائي والتحقق من نوع البيانات أثناء كتابة التعليمات البرمجية في IDE الخاص بك.
تتوفر وحدة Python للتطوير المحلي على PyPi. لتثبيت الوحدة النمطية، راجع كعب Python ل Delta Live Tables.
إنشاء مجموعة باستخدام قالب مشروع
إنشاء الحزمة باستخدام قالب حزمة Azure Databricks الافتراضي ل Python. يتكون هذا القالب من دفتر ملاحظات يعرف مسار Delta Live Tables، والذي يقوم بتصفية البيانات من مجموعة البيانات الأصلية. لمزيد من المعلومات حول قوالب المجموعة، راجع قوالب مشروع مجموعة أصول Databricks.
إذا كنت ترغب في إنشاء حزمة من البداية، فشاهد إنشاء مجموعة يدويا.
الخطوة 1: إعداد المصادقة
في هذه الخطوة، يمكنك إعداد المصادقة بين Databricks CLI على جهاز التطوير ومساحة عمل Azure Databricks. تفترض هذه المقالة أنك تريد استخدام مصادقة OAuth من مستخدم إلى جهاز (U2M) وملف تعريف تكوين Azure Databricks المطابق المسمى DEFAULT
للمصادقة.
إشعار
مصادقة U2M مناسبة لتجربة هذه الخطوات في الوقت الفعلي. بالنسبة إلى مهام سير العمل التلقائية بالكامل، توصي Databricks باستخدام مصادقة OAuth من جهاز إلى جهاز (M2M) بدلا من ذلك. راجع إرشادات إعداد مصادقة M2M في المصادقة.
استخدم Databricks CLI لبدء إدارة الرمز المميز OAuth محليا عن طريق تشغيل الأمر التالي لكل مساحة عمل هدف.
في الأمر التالي، استبدل
<workspace-url>
بعنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
يطالبك Databricks CLI بحفظ المعلومات التي أدخلتها كملف تعريف تكوين Azure Databricks. اضغط
Enter
لقبول اسم ملف التعريف المقترح، أو أدخل اسم ملف تعريف جديد أو موجود. تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم بالمعلومات التي أدخلتها. يمكنك استخدام ملفات التعريف لتبديل سياق المصادقة بسرعة عبر مساحات عمل متعددة.للحصول على قائمة بأي ملفات تعريف موجودة، في محطة طرفية منفصلة أو موجه أوامر، استخدم Databricks CLI لتشغيل الأمر
databricks auth profiles
. لعرض الإعدادات الموجودة لملف تعريف معين، قم بتشغيل الأمرdatabricks auth env --profile <profile-name>
.في مستعرض الويب الخاص بك، أكمل الإرشادات التي تظهر على الشاشة لتسجيل الدخول إلى مساحة عمل Azure Databricks.
لعرض قيمة رمز OAuth المميز الحالي لملف التعريف والطوابع الزمنية لانتهاء الصلاحية القادمة للرمز المميز، قم بتشغيل أحد الأوامر التالية:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
إذا كان لديك ملفات تعريف متعددة بنفس
--host
القيمة، فقد تحتاج إلى تحديد--host
الخيارات و-p
معا لمساعدة Databricks CLI في العثور على معلومات الرمز المميز OAuth المتطابقة الصحيحة.
الخطوة 2: إنشاء المجموعة
تهيئة مجموعة باستخدام قالب مشروع مجموعة Python الافتراضي.
استخدم المحطة الطرفية أو موجه الأوامر للتبديل إلى دليل على جهاز التطوير المحلي الذي سيحتوي على مجموعة القالب التي تم إنشاؤها.
استخدم Databricks CLI لتشغيل
bundle init
الأمر:databricks bundle init
بالنسبة إلى
Template to use
، اترك القيمة الافتراضية للضغطdefault-python
علىEnter
.بالنسبة إلى
Unique name for this project
، اترك القيمة الافتراضية لmy_project
، أو اكتب قيمة مختلفة، ثم اضغطEnter
على . يحدد هذا اسم الدليل الجذر لهذه الحزمة. يتم إنشاء هذا الدليل الجذر داخل دليل العمل الحالي.بالنسبة إلى
Include a stub (sample) notebook
، حددno
واضغطEnter
على . يؤدي هذا إلى توجيه Databricks CLI إلى عدم إضافة نموذج دفتر ملاحظات في هذه المرحلة، حيث لا يحتوي دفتر الملاحظات النموذجي المقترن بهذا الخيار على تعليمات برمجية ل Delta Live Tables فيه.بالنسبة إلى
Include a stub (sample) DLT pipeline
، اترك القيمة الافتراضية للضغطyes
علىEnter
. هذا يوجه Databricks CLI لإضافة نموذج دفتر ملاحظات يحتوي على التعليمات البرمجية Delta Live Tables فيه.بالنسبة إلى
Include a stub (sample) Python package
، حددno
واضغطEnter
على . هذا يوجه Databricks CLI إلى عدم إضافة نموذج ملفات حزمة عجلة Python أو إرشادات البناء ذات الصلة إلى مجموعتك.
الخطوة 3: استكشاف المجموعة
لعرض الملفات التي أنشأها القالب، قم بالتبديل إلى الدليل الجذر للحزمة التي تم إنشاؤها حديثا. تتضمن الملفات ذات الاهتمام الخاص ما يلي:
databricks.yml
: يحدد هذا الملف الاسم البرمجي للحزمة، ويتضمن مرجعا إلى تعريف البنية الأساسية لبرنامج ربط العمليات التجارية، ويحدد إعدادات حول مساحة العمل الهدف.resources/<project-name>_job.yml
وresources/<project-name>_pipeline.yml
: تحدد هذه الملفات المهمة التي تحتوي على مهمة تحديث البنية الأساسية لبرنامج ربط العمليات التجارية وإعدادات المسار.src/dlt_pipeline.ipynb
: هذا الملف هو دفتر ملاحظات يقوم، عند تشغيله، بتنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية.
لتخصيص المسارات، تتوافق التعيينات داخل إعلان البنية الأساسية لبرنامج ربط العمليات التجارية مع حمولة طلب عملية إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية كما هو محدد في POST /api/2.0/pipelines في مرجع REST API، المعبر عنها بتنسيق YAML.
الخطوة 4: التحقق من صحة ملف تكوين حزمة المشروع
في هذه الخطوة، يمكنك التحقق مما إذا كان تكوين المجموعة صالحا.
من الدليل الجذر، استخدم Databricks CLI لتشغيل
bundle validate
الأمر، كما يلي:databricks bundle validate
إذا تم إرجاع ملخص لتكوين المجموعة، فنجح التحقق من الصحة. إذا تم إرجاع أي أخطاء، قم بإصلاح الأخطاء، ثم كرر هذه الخطوة.
إذا قمت بإجراء أي تغييرات على حزمتك بعد هذه الخطوة، فيجب عليك تكرار هذه الخطوة للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا.
الخطوة 5: نشر المشروع المحلي إلى مساحة العمل البعيدة
في هذه الخطوة، يمكنك نشر دفتر الملاحظات المحلي إلى مساحة عمل Azure Databricks البعيدة وإنشاء مسار Delta Live Tables داخل مساحة العمل الخاصة بك.
من جذر المجموعة، استخدم Databricks CLI لتشغيل
bundle deploy
الأمر كما يلي:databricks bundle deploy -t dev
تحقق مما إذا كان قد تم نشر دفتر الملاحظات المحلي: في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق مساحة العمل.
انقر في مجلد Users >
<your-username>
> .bundle >><project-name>
dev > files > src. يجب أن يكون دفتر الملاحظات في هذا المجلد.تحقق مما إذا كان قد تم إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية: في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق Delta Live Tables.
في علامة التبويب Delta Live Tables ، انقر فوق [dev
<your-username>
]<project-name>
_pipeline.
إذا قمت بإجراء أي تغييرات على مجموعتك بعد هذه الخطوة، فيجب عليك تكرار الخطوات من 4 إلى 5 للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا ثم إعادة نشر المشروع.
الخطوة 6: تشغيل المشروع المنشور
في هذه الخطوة، يمكنك تشغيل مسار Delta Live Tables في مساحة العمل الخاصة بك من سطر الأوامر.
من الدليل الجذر، استخدم Databricks CLI لتشغيل
bundle run
الأمر، كما يلي، استبدال<project-name>
باسم مشروعك من الخطوة 2:databricks bundle run -t dev <project-name>_pipeline
انسخ قيمة
Update URL
التي تظهر في المحطة الطرفية الخاصة بك والصق هذه القيمة في مستعرض الويب لفتح مساحة عمل Azure Databricks.في مساحة عمل Azure Databricks، بعد اكتمال المسار بنجاح، انقر فوق طريقة العرض taxi_raw وطريقة العرض المجسدة filtered_taxis لمشاهدة التفاصيل.
إذا قمت بإجراء أي تغييرات على مجموعتك بعد هذه الخطوة، فيجب عليك تكرار الخطوات من 4 إلى 6 للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا، وإعادة نشر المشروع، وتشغيل المشروع المعاد توزيعه.
الخطوة 7: التنظيف
في هذه الخطوة، يمكنك حذف دفتر الملاحظات المنشور والمسار من مساحة العمل الخاصة بك.
من الدليل الجذر، استخدم Databricks CLI لتشغيل
bundle destroy
الأمر، كما يلي:databricks bundle destroy -t dev
تأكيد طلب حذف البنية الأساسية لبرنامج ربط العمليات التجارية: عند مطالبتك بتدمير الموارد بشكل دائم، اكتب
y
واضغطEnter
على .تأكيد طلب حذف دفتر الملاحظات: عند مطالبتك بتدمير المجلد المنشور مسبقا وكافة ملفاته بشكل دائم، اكتب
y
واضغطEnter
على .إذا كنت تريد أيضا حذف الحزمة من جهاز التطوير الخاص بك، يمكنك الآن حذف الدليل المحلي من الخطوة 2.
إضافة تعريف مسار موجود إلى مجموعة
يمكنك استخدام تعريف مسار Delta Live Tables الموجود كأساس لتعريف مسار جديد في ملف تكوين مجموعة. للحصول على تعريف مسار موجود، يمكنك استرداده يدويا باستخدام واجهة المستخدم، أو يمكنك إنشاؤه برمجيا باستخدام Databricks CLI.
الحصول على تعريف مسار موجود باستخدام واجهة المستخدم
للحصول على تمثيل YAML لتعريف مسار موجود من واجهة مستخدم مساحة عمل Azure Databricks:
في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق مهام سير العمل.
في علامة التبويب Delta Live Tables، انقر فوق ارتباط Name الخاص بالبنية الأساسية لبرنامج ربط العمليات التجارية.
بجانب زر Development ، انقر فوق kebab، ثم انقر فوق View settings YAML.
انسخ YAML لتعريف البنية الأساسية لبرنامج ربط العمليات التجارية في مربع حوار YAML لإعدادات البنية الأساسية لبرنامج ربط العمليات التجارية إلى الحافظة المحلية بالنقر فوق أيقونة النسخ.
أضف YAML الذي نسخته إلى ملف الحزمة
databricks.yml
الخاصة بك، أو أنشئ ملف تكوين للبنية الأساسية لبرنامج ربط العمليات التجارية فيresources
مجلد مشروع الحزمة الخاص بك وقم بالإشارة إليه من ملفكdatabricks.yml
. راجع الموارد.قم بتنزيل وإضافة أي ملفات ودفاتر ملاحظات Python المشار إليها إلى مصدر مشروع المجموعة. عادة ما تكون بيانات المجموعة الاصطناعية
src
في الدليل في مجموعة.تلميح
يمكنك تصدير دفتر ملاحظات موجود من مساحة عمل Azure Databricks إلى
.ipynb
التنسيق بالنقر فوق File > Export > IPython Notebook من واجهة مستخدم دفتر ملاحظات Azure Databricks.بعد إضافة دفاتر الملاحظات وملفات Python والبيانات الاصطناعية الأخرى إلى المجموعة، تأكد من أن تعريف البنية الأساسية لبرنامج ربط العمليات التجارية يشير إليها بشكل صحيح. على سبيل المثال، لدفتر ملاحظات باسم
hello.ipynb
موجود فيsrc/
دليل الحزمة:resources: pipelines: hello-pipeline: name: hello-pipeline libraries: - notebook: path: ../src/hello.ipynb
إنشاء تعريف مسار موجود باستخدام Databricks CLI
لإنشاء تكوين حزمة برمجيا لمسار موجود:
استرجع معرف البنية الأساسية لبرنامج ربط العمليات التجارية الموجودة من اللوحة الجانبية تفاصيل المسار للبنية الأساسية لبرنامج ربط العمليات التجارية في واجهة المستخدم، أو استخدم الأمر Databricks CLI
databricks pipelines list-pipelines
.bundle generate pipeline
قم بتشغيل الأمر Databricks CLI، مع تعيين معرف البنية الأساسية لبرنامج ربط العمليات التجارية:databricks bundle generate pipeline --existing-pipeline-id 6565621249
ينشئ هذا الأمر ملف تكوين حزمة للبنية الأساسية لبرنامج ربط العمليات التجارية في مجلد الحزمة
resources
وينزل أي بيانات اصطناعية مرجعيةsrc
إلى المجلد.تلميح
إذا كنت تستخدم
bundle deployment bind
أولا لربط مورد في حزمة واحدة في مساحة العمل، يتم تحديث المورد في مساحة العمل استنادا إلى التكوين المحدد في المجموعة التي يرتبط بها بعد التاليbundle deploy
. للحصول على معلومات حولbundle deployment bind
، راجع ربط موارد المجموعة.