تشغيل مهمة مهمة Azure Databricks ذات معلمات في حلقة
تتناول هذه المقالة استخدام For each
المهمة مع مهام Azure Databricks، بما في ذلك تفاصيل حول إضافة المهمة وتكوينها في واجهة مستخدم الوظائف. For each
استخدم المهمة لتشغيل مهمة في تكرار حلقي، مع تمرير مجموعة مختلفة من المعلمات إلى كل تكرار للمهمة.
For each
تتطلب إضافة المهمة إلى مهمة تحديد مهمتين: For each
المهمة والمهمة المتداخلة. المهمة المتداخلة هي المهمة التي يجب تشغيلها لكل تكرار للمهمة For each
وهي واحدة من أنواع مهام Azure Databricks Jobs القياسية. لا يمكنك إضافة مهمة أخرى For each
كمهمة متداخلة.
على سبيل المثال، يمكنك استخدام For each
المهمة لتنفيذ مجموعة شائعة من التحويلات على جداول متعددة، وتمرير اسم جدول من قائمة أسماء الجداول إلى كل تكرار للمهمة.
ما هي أنواع المعلمات التي يمكنني استخدامها مع For each
المهمة؟
لتمرير المعلمات من For each
مهمة، يمكنك:
- تعريف مجموعة بتنسيق JSON عند إنشاء مهمة أو تحريرها.
- استخدم قيم المهام التي تم تمريرها من مهمة سابقه. لمعرفة المزيد حول قيم المهام، راجع استخدام قيم المهام لتمرير المعلومات بين المهام.
- استخدام معلمات الوظيفة. لمعرفة المزيد حول معلمات الوظيفة، راجع تكوين معلمات الوظيفة.
لمعرفة كيفية استخدام أنواع المعلمات المختلفة هذه عند إضافة مهمة أو تحريرها For each
، راجع القسم التالي إضافة لكل مهمة إلى مهمة.
For each
إضافة المهمة إلى وظيفة
يمكنك إضافة For each
مهمة عند إنشاء مهمة أو تحرير مهمة في مهمة موجودة. لتكوين For each
مهمة:
في القائمة المنسدلة النوع ، حدد لكل منها.
أدخل اسما للمهمة في حقل اسم المهمة.
في مربع النص Inputs ، حدد قيم المهمة للتكرار
For each
عليها. يمكن أن يكون أحد ما يلي:صفيف قيم بتنسيق JSON. يمكن أن يكون هذا صفيفا من أنواع البيانات التالية:
- أزواج قيم المفاتيح
- السلاسل أو الأرقام أو الأنواع المنطقية
- كائنات JSON المعقدة بشكل عشوائي
مراجع قيمة المهمة. للإشارة إلى قيم المهام التي تم تمريرها من مهمة سابقه، استخدم
{{tasks.<task_name>.values.<task_value_name>}}
بناء الجملة لتعيين القيمة في مربع النص Inputs . على سبيل المثال، إذا كانت المهمة المسماةgenerate_countries_list
التي تسبقFor each
المهمة تعين قيمة المهمة التالية:dbutils.jobs.taskValues.set(key = "countries", value = countries_array)
For each
ثم تشير المهمة إلى قيمة المهمة في مربع النص Inputs باستخدام بناء الجملة التالي:{{tasks.generate_countries_list.values.countries}}
.معلمات الوظيفة. للإشارة إلى معلمة مهمة، استخدم بناء الجملة التالي في مربع النص Inputs :
{{job.parameters.<name>}}
. على سبيل المثال،{{job.parameters.countries}}
لتعيين عدد التكرارات التي يمكن تشغيلها بالتوازي اختياريا، أدخل قيمة التزامن للمهمة. القيمة الافتراضية هي 1.
لتلقي إعلامات لبدء المهمة أو نجاحها أو فشلها اختياريا، انقر فوق + إضافة. راجع إضافة إعلامات البريد الإلكتروني والنظام لأحداث الوظيفة.
لإكمال تكوين
For each
المهمة وإضافة مهمة متداخلة لتشغيلها لكل تكرار، انقر فوق إضافة مهمة لتكرارها.حدد نوع المهمة وخيارات التكوين للمهمة المتداخلة. المهام المتداخلة هي أنواع مهام قياسية لها نفس خيارات التكوين. راجع تكوين مهام Databricks وتحريرها.
للإشارة إلى المعلمات التي تم تمريرها
For each
من المهمة، انقر فوق المعلمات.{{input}}
استخدم المرجع لتعيين القيمة إلى قيمة الصفيف لكل تكرار أو{{input.<key>}}
للإشارة إلى حقول عناصر فردية عند التكرار عبر قائمة الكائنات.انقر فوق إنشاء مهمة.
التبديل بين For each
المهمة والمهمة المتداخلة
For each
تظهر المهمة في واجهة مستخدم الوظائف كعقدة مع عقدة المهمة المتداخلة داخل العقدةFor each
. للتبديل بين For each
المهمة والمهمة المتداخلة، انقر فوق العقد المعنية.
For each
الرجوع إلى مهمة في مهام انتقال البيانات من الخادم
For each
المهمة هي مهمة المستوى الأعلى، ويمكن لمهام انتقال البيانات من الخادم تحديدها كتبعية. لا يمكن أن تعتمد مهام انتقال البيانات من الخادم على المهمة المتداخلة أو تشير إليها.
تشغيل مهمة ومراقبتها For each
باستخدام مهمة
تشغيل وظيفة بمهمة For each
مماثل لتشغيل أي مهمة أخرى.
كما أن عرض وإدارة تشغيل المهام مطابق لأي مهمة أخرى، باستثناء محفوظات تشغيل المهمة لمهمة For each
ما، والتي يتم تقديمها كجدول تكرارات للمهمة. راجع عرض محفوظات تشغيل المهمة لكل مهمة.