Konfigurera aktivitetsberoenden
Med fältet Kör om beroenden kan du lägga till kontrollflödeslogik i aktiviteter baserat på andra uppgifters framgång, fel eller slutförande.
Beroenden representeras visuellt i jobbetS DAG som rader mellan aktiviteter.
Azure Databricks kör uppströmsaktiviteter innan du kör underordnade aktiviteter och kör så många av dem parallellt som möjligt.
Kommentar
Beroende är bara synligt om jobbet består av flera uppgifter.
Databricks har också följande funktioner för kontrollflöde och villkorsanpassning:
- Villkorsaktiviteten If/else används för att köra en del av ett jobb DAG baserat på resultatet av ett booleskt uttryck. Med
If/else condition
uppgiften kan du lägga till förgreningslogik i jobbet. Du kan till exempel bara köra transformeringsuppgifter om den överordnade inmatningsaktiviteten lägger till nya data. Se Lägga till förgreningslogik i ett jobb med uppgiften If/else. - Aktiviteten För varje villkor lägger till loopningslogik till en annan aktivitet baserat på en indatamatris. Indatamatriser kan anges manuellt eller genereras dynamiskt. Se Köra en parameteriserad Azure Databricks-jobbaktivitet i en loop.
- Med aktiviteten Kör jobb kan du utlösa ett annat jobb på din arbetsyta. Se Köra jobbaktivitet för jobb.
Lägga till ett Kör om-villkor i en aktivitet
Om du har valt en aktivitet i din DAG när du skapar en ny aktivitet har den nya aktiviteten ett beroende konfigurerat för den här aktiviteten som standard.
Gör följande för att redigera eller lägga till villkor:
- Välj en uppgift.
- I fältet Beroenden klickar du på X för att ta bort en uppgift eller väljer aktiviteter att lägga till från den nedrullningsbara menyn.
- Välj något av de villkorsstyrda alternativen i fältet Kör om beroenden .
- Klicka på Spara uppgift.
Run if
villkorsalternativ
Du kan lägga till följande Run if
villkor i en uppgift:
- Alla lyckades: Alla beroenden har körts och lyckats. Det här är standardinställningen. Uppgiften markeras som
Upstream failed
om villkoret är ouppfyllt. - Minst en lyckades: Minst ett beroende har lyckats. Uppgiften markeras som
Upstream failed
om villkoret är ouppfyllt. - Inget misslyckades: Inget av beroendena misslyckades och minst ett beroende kördes. Uppgiften markeras som
Upstream failed
om villkoret är ouppfyllt. - Allt klart: Aktiviteten körs när alla dess beroenden har körts, oavsett status för de beroende körningarna. Med det här villkoret kan du definiera en aktivitet som körs utan beroende på resultatet av dess beroende aktiviteter.
- Minst ett misslyckades: Minst ett beroende misslyckades. Uppgiften markeras som
Excluded
om villkoret är ouppfyllt. - Allt misslyckades: Alla beroenden har misslyckats. Uppgiften markeras som
Excluded
om villkoret är ouppfyllt.
Kommentar
- Uppgifter som konfigurerats för att hantera fel markeras som
Excluded
om derasRun if
villkor är ouppfyllt. Exkluderade aktiviteter hoppas över och behandlas som lyckade. - Om alla aktivitetsberoenden exkluderas utesluts även aktiviteten, oavsett dess
Run if
villkor. - Om du avbryter en aktivitetskörning sprids annulleringen genom underordnade aktiviteter och aktiviteter med ett
Run if
villkor som hanterar fel körs, till exempel för att verifiera att en rensningsaktivitet körs när en aktivitetskörning avbryts.
Exempeljobb med aktivitetsberoenden
När du konfigurerar aktivitetsberoenden skapas en riktad Acyclic Graph (DAG) för aktivitetskörning, ett vanligt sätt att representera körningsordning i jobbschemaläggare. Tänk dig till exempel följande jobb som består av fyra uppgifter:
- Uppgift 1 är rotuppgiften och är inte beroende av någon annan aktivitet.
- Uppgift 2 och Uppgift 3 beror på att uppgift 1 slutförs först.
- Slutligen är aktivitet 4 beroende av att uppgift 2 och uppgift 3 slutförs.
Följande diagram illustrerar bearbetningsordningen för dessa uppgifter: