تكوين تبعيات المهام
يسمح لك الحقل Run if dependencies بإضافة منطق تدفق التحكم إلى المهام استنادا إلى نجاح المهام الأخرى أو فشلها أو إكمالها.
يتم تمثيل التبعيات بصريا في مهمة DAG كخطوط بين المهام.
يقوم Azure Databricks بتشغيل مهام المصدر قبل تشغيل مهام انتقال البيانات من الخادم، وتشغيل أكبر عدد ممكن منها بالتوازي قدر الإمكان.
ملاحظة
يعتمد على يكون مرئيا فقط إذا كانت الوظيفة تتكون من مهام متعددة.
يحتوي Databricks أيضا على الوظائف التالية لتدفق التحكم والشروط:
- يتم استخدام مهمة شرط If/else لتشغيل جزء من مهمة DAG استنادا إلى نتائج تعبير منطقي.
If/else condition
تسمح لك المهمة بإضافة منطق تفريع إلى وظيفتك. على سبيل المثال، قم بتشغيل مهام التحويل فقط إذا كانت مهمة الاستيعاب المصدر تضيف بيانات جديدة. راجع إضافة منطق التفريع إلى وظيفة باستخدام المهمة If/else. - تضيف مهمة لكل شرط منطق التكرار الحلقي إلى مهمة أخرى استنادا إلى صفيف إدخال. يمكن تحديد صفائف الإدخال يدويا أو إنشاؤها ديناميكيا. راجع تشغيل مهمة مهمة Azure Databricks ذات معلمات في حلقة.
- تتيح لك مهمة تشغيل الوظيفة تشغيل مهمة أخرى في مساحة العمل الخاصة بك. راجع تشغيل مهمة الوظيفة للوظائف.
إذا كانت لديك مهمة محددة في DAG عند إنشاء مهمة جديدة، فإن المهمة الجديدة لها تبعية تم تكوينها على هذه المهمة بشكل افتراضي.
لتحرير الشروط أو إضافتها، قم بما يلي:
- حدد مهمة.
- في الحقل يعتمد على ، انقر فوق X لإزالة مهمة أو حدد المهام لإضافتها من القائمة المنسدلة.
- حدد أحد الخيارات الشرطية في الحقل Run if dependencies .
- انقر فوق حفظ المهمة.
يمكنك إضافة الشروط التالية Run if
إلى مهمة:
- الكل نجح: تم تشغيل جميع التبعيات ونجحت. ويكون ذلك هو الإعداد الافتراضي. يتم وضع علامة على المهمة كما
Upstream failed
لو لم يتم استيفاء الشرط. - نجح واحد على الأقل: نجحت تبعية واحدة على الأقل. يتم وضع علامة على المهمة كما
Upstream failed
لو لم يتم استيفاء الشرط. - فشل بلا: فشل أي من التبعيات، وتم تشغيل تبعية واحدة على الأقل. يتم وضع علامة على المهمة كما
Upstream failed
لو لم يتم استيفاء الشرط. - تم كل شيء: يتم تشغيل المهمة بعد تشغيل جميع تبعياتها، بغض النظر عن حالة عمليات التشغيل التابعة. يسمح لك هذا الشرط بتعريف مهمة يتم تشغيلها دون الاعتماد على نتيجة المهام التابعة لها.
- فشل واحد على الأقل: فشلت تبعية واحدة على الأقل. يتم وضع علامة على المهمة كما
Excluded
لو لم يتم استيفاء الشرط. - فشل الكل: فشلت كافة التبعيات. يتم وضع علامة على المهمة كما
Excluded
لو لم يتم استيفاء الشرط.
ملاحظة
- يتم وضع علامة على المهام التي تم تكوينها للتعامل مع حالات الفشل كما
Excluded
لو لم يتم استيفاء شرطهاRun if
. يتم تخطي المهام المستبعدة ويتم التعامل معها على أنها ناجحة. - إذا تم استبعاد كافة تبعيات المهام، يتم استبعاد المهمة أيضا، بغض النظر عن حالتها
Run if
. - إذا قمت بإلغاء تشغيل مهمة، يتم نشر الإلغاء من خلال مهام انتقال البيانات من الخادم، ويتم تشغيل المهام التي
Run if
لها شرط يعالج الفشل، على سبيل المثال، للتحقق من تشغيل مهمة تنظيف عند إلغاء تشغيل مهمة.
يؤدي تكوين تبعيات المهام إلى إنشاء Directed Acyclic Graph (DAG) لتنفيذ المهمة، وهي طريقة شائعة لتمثيل ترتيب التنفيذ في مجدولات الوظائف. على سبيل المثال، ضع في اعتبارك المهمة التالية التي تتكون من أربع مهام:
- المهمة 1 هي المهمة الجذر ولا تعتمد على أي مهمة أخرى.
- تعتمد المهمة 2 والمهمة 3 على إكمال المهمة 1 أولا.
- وأخيرا، تعتمد المهمة 4 على إكمال المهمة 2 والمهمة 3 بنجاح.
يوضح الرسم التخطيطي التالي ترتيب المعالجة لهذه المهام: