Řízení toku úkolů v rámci úlohy Databricks
Některé úlohy jsou jednoduše seznamem úkolů, které je potřeba dokončit. Pořadí provádění úkolů můžete řídit zadáním závislostí mezi nimi. Můžete nakonfigurovat úlohy, které se mají spouštět v posloupnosti nebo paralelně.
Můžete ale také vytvářet toky větvení, které zahrnují podmíněné úlohy, opravu chyb nebo vyčištění. Azure Databricks poskytuje funkce pro řízení toku úkolů v rámci úlohy. Následující témata popisují způsoby, jak můžete řídit tok úkolů.
Opětovné pokusy
Opakování určuje, kolikrát má být konkrétní úkol znovu spuštěn, pokud úloha selže s chybovou zprávou. Chyby jsou často přechodné a vyřešené restartováním. Některé funkce v Azure Databricks, jako je vývoj schématu se strukturovaným streamováním, předpokládají, že spouštíte úlohy s opakovanými pokusy o resetování prostředí a umožníte pracovnímu postupu pokračovat.
Pokud zadáte opakování úkolu, úloha se restartuje až do zadaného počtu opakování, pokud dojde k chybě. Ne všechny konfigurace úloh podporují opakování úloh. Viz Nastavení zásad opakování.
Při spuštění v režimu průběžného triggeru se Databricks automaticky znovu pokusí s exponenciálním prodlevou. Viz Jak se řeší chyby pro kontinuální úlohy?.
Spustit podmíněné úlohy, pokud
Spustit můžete použít, pokud typ úlohy k určení podmíněných podmínek pro pozdější úkoly na základě výsledku jiných úkolů. Přidáváte úkoly do svého projektu a určujete úkoly závislé na těch předchozích. Na základě stavu těchto úkolů můžete nakonfigurovat jeden nebo více následných úkolů pro spuštění. Úlohy podporují následující závislosti:
- Vše bylo úspěšné.
- Alespoň jeden úspěšný
- Žádné se nezdařilo.
- Hotovo
- Nejméně jeden selhal.
- Vše se nezdařilo.
Viz Konfigurace závislostí úkolů
podmíněné úlohy If/else
K určení podmíněných podmínek na základě určité hodnoty můžete použít If/else typ úkolu. Vizte , jak přidat logiku větvení do úlohy pomocí úkolu If/else.
Úlohy podporují taskValues
, které definujete v logice, a umožňují vrátit výsledky určitého výpočtu nebo stavu z úlohy do prostředí úloh. Můžete definovat Podmínky if/else pro taskValues
, parametry úlohy nebo dynamické hodnoty.
Azure Databricks podporuje pro podmíněné operace následující operandy:
==
!=
>
>=
<
<=
Viz také:
- Předávání informací mezi úkolů pomocí hodnot úkolů
- Co je odkaz na dynamickou hodnotu?
- parametrizace úloh
pro jednotlivé úkoly
Pomocí úlohy For each
spusťte ve smyčce jiný úkol a při každé iteraci úkolu předat jinou sadu parametrů.
Pokud chcete do úlohy přidat For each
úkol, musíte definovat For each
úkol a vnořený úkol . Vnořená úloha je úloha, která se má spustit pro každou iteraci úlohy For each
a je jedním ze standardních typů úloh Databricks. Pro předávání parametrů do vnořené úlohy se podporuje více metod.
Podívejte se na Spuštění parametrizované úlohy Azure Databricks ve smyčce.