تشغيل مهمة مهمة 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 مهمة، يمكنك:

لمعرفة كيفية استخدام أنواع المعلمات المختلفة هذه عند إضافة مهمة أو تحريرها For each ، راجع القسم التالي إضافة لكل مهمة إلى مهمة.

For each إضافة المهمة إلى وظيفة

يمكنك إضافة For each مهمة عند إنشاء مهمة أو تحرير مهمة في مهمة موجودة. لتكوين For each مهمة:

  1. في القائمة المنسدلة النوع ، حدد لكل منها.

  2. أدخل اسما للمهمة في حقل اسم المهمة.

  3. في مربع النص 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}}

  4. لتعيين عدد التكرارات التي يمكن تشغيلها بالتوازي اختياريا، أدخل قيمة التزامن للمهمة. القيمة الافتراضية هي 1.

  5. لتلقي إعلامات لبدء المهمة أو نجاحها أو فشلها اختياريا، انقر فوق + إضافة. راجع إضافة إعلامات البريد الإلكتروني والنظام لأحداث الوظيفة.

  6. لإكمال تكوين For each المهمة وإضافة مهمة متداخلة لتشغيلها لكل تكرار، انقر فوق إضافة مهمة لتكرارها.

  7. حدد نوع المهمة وخيارات التكوين للمهمة المتداخلة. المهام المتداخلة هي أنواع مهام قياسية لها نفس خيارات التكوين. راجع تكوين مهام Databricks وتحريرها.

  8. للإشارة إلى المعلمات التي تم تمريرها For each من المهمة، انقر فوق المعلمات. {{input}} استخدم المرجع لتعيين القيمة إلى قيمة الصفيف لكل تكرار أو {{input.<key>}} للإشارة إلى حقول عناصر فردية عند التكرار عبر قائمة الكائنات.

    إضافة مهمة متداخلة إلى لكل مهمة

  9. انقر فوق إنشاء مهمة.

التبديل بين For each المهمة والمهمة المتداخلة

For each تظهر المهمة في واجهة مستخدم الوظائف كعقدة مع عقدة المهمة المتداخلة داخل العقدةFor each. للتبديل بين For each المهمة والمهمة المتداخلة، انقر فوق العقد المعنية.

تبديل طريقة عرض واجهة مستخدم المهام DAG إلى لكل مهمة

تبديل طريقة عرض واجهة مستخدم المهام DAG إلى مهمة متداخلة

For each الرجوع إلى مهمة في مهام انتقال البيانات من الخادم

For each المهمة هي مهمة المستوى الأعلى، ويمكن لمهام انتقال البيانات من الخادم تحديدها كتبعية. لا يمكن أن تعتمد مهام انتقال البيانات من الخادم على المهمة المتداخلة أو تشير إليها.

تشغيل مهمة ومراقبتها For each باستخدام مهمة

تشغيل وظيفة بمهمة For each مماثل لتشغيل أي مهمة أخرى.

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