Freigeben über


Konfigurieren von Anordnungsbeziehungen

Mit dem Feld Ausführen, wenn Abhängigkeiten können Sie Aufgaben Kontrollfluss-Logik basierend auf dem Erfolg, Fehlern oder Abschluss anderer Aufgaben hinzufügen.

Abhängigkeiten werden in der Job-DAG visuell als Linien zwischen Aufgaben dargestellt.

Azure Databricks führt vorgelagerte Aufgaben aus, bevor nachgelagerte Aufgaben ausgeführt werden. Dabei werden so viele Aufgaben wie möglich parallel ausgeführt.

Hinweis

Abhängig von wird nur angezeigt, wenn der Job aus mehreren Aufgabe besteht.

Databricks verfügt außerdem über die folgenden Funktionen für den Kontrollfluss und die Bedingungsverwaltung:

Hinzufügen einer „Ausführen wenn“-Bedingung zu einer Aufgabe

Wenn Sie beim Erstellen einer neuen Aufgabe eine Aufgabe in Ihrer DAG ausgewählt haben, ist die neue Aufgabe standardmäßig von dieser Aufgabe abhängig.

Um Bedingungen zu bearbeiten oder hinzuzufügen, gehen Sie wie folgt vor:

  1. Wählen Sie eine Aufgabe aus.
  2. Klicken Sie im Feld Abhängig vom Feld auf das X, um eine Aufgabe zu entfernen oder Aufgaben auszuwählen, die aus dem Dropdown-Menü hinzugefügt werden sollen.
  3. Wählen Sie eine der bedingten Optionen im Feld Ausführen, wenn Abhängigkeiten aus.
  4. Klicken Sie auf Aufgabe speichern.

Optionen für Run if-Bedingung

Sie können einer Aufgabe die folgenden Run if-Bedingungen hinzufügen:

  • Alle erfolgreich: Alle Abhängigkeiten wurden ausgeführt und waren erfolgreich. Dies ist die Standardeinstellung. Die Aufgabe wird als Upstream failed gekennzeichnet, wenn die Bedingung nicht erfüllt ist.
  • Mindestens eine erfolgreich: Mindestens eine Abhängigkeit war erfolgreich. Die Aufgabe wird als Upstream failed gekennzeichnet, wenn die Bedingung nicht erfüllt ist.
  • Keine fehlgeschlagen: Keine der Abhängigkeiten ist fehlgeschlagen, und es wurde mindestens eine Abhängigkeit ausgeführt. Die Aufgabe wird als Upstream failed gekennzeichnet, wenn die Bedingung nicht erfüllt ist.
  • Alles erledigt: Die Aufgabe wird ausgeführt, nachdem alle Abhängigkeiten ausgeführt wurden, unabhängig vom Status der abhängigen Ausführungen. Mit dieser Bedingung können Sie eine Aufgabe definieren, die unabhängig vom Ergebnis ihrer abhängigen Aufgaben ausgeführt wird.
  • Mindestens eine fehlgeschlagen: Mindestens eine Abhängigkeit ist fehlgeschlagen. Die Aufgabe wird als Excluded gekennzeichnet, wenn die Bedingung nicht erfüllt ist.
  • Alle fehlgeschlagen: Alle Abhängigkeiten sind fehlgeschlagen. Die Aufgabe wird als Excluded gekennzeichnet, wenn die Bedingung nicht erfüllt ist.

Hinweis

  • Aufgaben, die für die Behandlung von Fehlern konfiguriert sind, werden als Excluded gekennzeichnet, wenn ihre Run if-Bedingung nicht erfüllt ist. Ausgeschlossene Aufgaben werden übersprungen und als erfolgreich behandelt.
  • Wenn alle Aufgabenabhängigkeiten ausgeschlossen werden, wird auch die Aufgabe ausgeschlossen, unabhängig von ihrer Run if-Bedingung.
  • Wenn Sie eine Aufgabenausführung abbrechen, wird der Abbruch über Downstreamaufgaben weitergegeben, und Aufgaben mit einer Run if-Bedingung, die Fehler behandelt, werden ausgeführt, um beispielweise sicherzustellen, dass eine Bereinigungsaufgabe ausgeführt wird, wenn eine Aufgabenausführung abgebrochen wird.

Beispiel-Job mit Anordnungsbeziehungen

Durch das Konfigurieren von Aufgabenabhängigkeiten wird ein gerichteter azyklischer Graph (DAG) der Aufgabenausführung erstellt, eine gängige Methode zur Darstellung der Ausführungsreihenfolge in Auftragsplanern. Nehmen wir zum Beispiel den folgenden Auftrag, der aus vier Aufgaben besteht:

Beispieldiagramm für Aufgabenabhängigkeiten

  • Aufgabe1 ist die Stammaufgabe und hängt von keiner anderen Aufgabe ab.
  • Aufgabe 2 und Aufgabe 3 hängen davon ab, dass zunächst Aufgabe 1 abgeschlossen wird.
  • Aufgabe 4 schließlich hängt davon ab, dass Aufgabe 2 und Aufgabe 3 erfolgreich abgeschlossen werden.

Das folgende Diagramm veranschaulicht die Reihenfolge der Verarbeitung für diese Aufgaben:

Beispielflow der Aufgabenabhängigkeiten