Konfigurowanie zależności zadań
Pole Uruchom, jeśli zależności umożliwia dodanie logiki przepływu sterowania do zadań na podstawie powodzenia, niepowodzenia lub ukończenia innych zadań.
Zależności są wizualnie reprezentowane w grupie DAG zadania jako wiersze między zadaniami.
Usługa Azure Databricks uruchamia zadania nadrzędne przed uruchomieniem podzadań podrzędnych, uruchamiając jak najwięcej z nich równolegle.
Uwaga
Zależy od tego, czy zadanie składa się z wielu zadań, jest widoczne tylko wtedy, gdy zadanie składa się z wielu zadań.
Usługa Databricks ma również następujące funkcje przepływu sterowania i warunkowości:
- Zadanie warunku If/else służy do uruchamiania części zadania DAG na podstawie wyników wyrażenia logicznego. Zadanie
If/else condition
umożliwia dodawanie logiki rozgałęziania do zadania. Na przykład uruchom zadania przekształcania tylko wtedy, gdy zadanie pozyskiwania nadrzędnego dodaje nowe dane. Zobacz Dodawanie logiki rozgałęziania do zadania za pomocą zadania If/else. - Zadanie Dla każdego warunku dodaje logikę pętli do innego zadania na podstawie tablicy wejściowej. Tablice wejściowe można określić ręcznie lub dynamicznie wygenerować. Zobacz Uruchamianie sparametryzowanego zadania zadania usługi Azure Databricks w pętli.
- Zadanie Uruchom zadanie umożliwia wyzwolenie innego zadania w obszarze roboczym. Zobacz Uruchamianie zadania dla zadań.
Dodawanie warunku Uruchom, jeśli do zadania
Jeśli podczas tworzenia nowego zadania wybrano zadanie w grupie DAG, nowe zadanie ma domyślnie skonfigurowaną zależność od tego zadania.
Aby edytować lub dodać warunki, wykonaj następujące czynności:
- Wybierz zadanie.
- W polu Zależy od kliknij X, aby usunąć zadanie lub wybierz zadania do dodania z menu rozwijanego.
- Wybierz jedną z opcji warunkowych w polu Uruchom, jeśli są spełnione zależności.
- Kliknij pozycję Zapisz zadanie.
Run if
opcje warunku
Do zadania można dodać następujące Run if
warunki:
-
Wszystkie zakończone pomyślnie: wszystkie zależności zostały uruchomione i zakończyły się pomyślnie. Ustawienie domyślne. Zadanie jest oznaczone tak, jakby
Upstream failed
warunek był niezaspokojony. -
Co najmniej jedna powiodła się: co najmniej jedna zależność zakończyła się pomyślnie. Zadanie jest oznaczone tak, jakby
Upstream failed
warunek był niezaspokojony. -
Brak nie powiodło się: Żadna z zależności nie powiodła się i co najmniej jedna zależność została uruchomiona. Zadanie jest oznaczone tak, jakby
Upstream failed
warunek był niezaspokojony. - Wszystko gotowe: zadanie jest uruchamiane po uruchomieniu wszystkich jego zależności, niezależnie od stanu przebiegów zależnych. Ten warunek umożliwia zdefiniowanie zadania, które jest uruchamiane bez względu na wynik jego zadań zależnych.
-
Co najmniej jedna nie powiodła się: co najmniej jedna zależność nie powiodła się. Zadanie jest oznaczone tak, jakby
Excluded
warunek był niezaspokojony. -
Wszystkie nie powiodły się: wszystkie zależności zakończyły się niepowodzeniem. Zadanie jest oznaczone tak, jakby
Excluded
warunek był niezaspokojony.
Uwaga
- Zadania skonfigurowane do obsługi niepowodzeń są oznaczane tak, jakby
Excluded
ichRun if
warunek był niezaspokojony. Wykluczone zadania są pomijane i traktowane jako pomyślne. - Jeśli wszystkie zależności zadań są wykluczone, zadanie jest również wykluczone, niezależnie od jego
Run if
warunku. - Jeśli anulujesz przebieg zadania, anulowanie jest propagowane za pośrednictwem podrzędnych zadań i podzadań z
Run if
warunkiem, który obsługuje niepowodzenie, są uruchamiane, na przykład w celu zweryfikowania uruchomienia zadania oczyszczania po anulowaniu uruchomienia zadania.
Przykładowe zadanie z zależnościami zadań
Konfigurowanie zależności zadań powoduje utworzenie grafu Acyklicznego (DAG) wykonywania zadań w sposób typowy reprezentujący kolejność wykonywania zadań w harmonogramach zadań. Rozważmy na przykład następujące zadanie składające się z czterech zadań:
- Zadanie 1 jest zadaniem głównym i nie zależy od żadnego innego zadania.
- Zadanie 2 i Zadanie 3 zależą od pierwszego ukończenia zadania 1.
- Na koniec zadanie 4 zależy od pomyślnego ukończenia zadania 2 i zadania 3.
Na poniższym diagramie przedstawiono kolejność przetwarzania dla tych zadań: