Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine deaktivierte Aufgabe in einem Azure Databricks Lakeflow-Auftrag wird zur Laufzeit übersprungen, ohne aus dem Auftrag entfernt zu werden. Deaktivierte Aufgaben behalten ihren Konfigurations- und Ausführungsverlauf bei, sodass Sie sie später erneut aktivieren können, ohne die Aufgabe neu zu erstellen. Auf dieser Seite wird erläutert, wie sich deaktivierte Aufgaben verhalten, wenn ein Auftrag ausgeführt wird, einschließlich ihrer Auswirkungen auf nachgeschaltete Vorgänge, Reparaturen und Teilläufe.
Nachgelagertes Aufgabenverhalten
Wenn ein Auftrag ausgeführt wird, bewertet Lakeflow-Aufgaben die Ausführen, wenn Bedingung jedes nachgelagerten Vorgangs im Vergleich zu seinen upstream-Vorgängen, um zu entscheiden, ob der Vorgang ausgeführt, übersprungen oder deaktiviert werden soll. Deaktivierte Aufgaben werden mit einem Disabled Beendigungscode abgeschlossen.
Wenn die "Run if"-Bedingung einer nachgeschalteten Aufgabe nicht erfüllt werden kann, da mindestens eine übergeordnete Aufgabe deaktiviert ist, kennzeichnen Lakeflow-Aufträge auch die nachgeschaltete Aufgabe als deaktiviert für diesen Durchlauf. Deaktivierte nachgeschaltete Aufgaben zeigen ein In der oberen rechten Ecke der Ansicht "Gerichtetes Azyklisches Diagramm (DAG)" können Sie die Auswirkung vor dem Starten einer Ausführung sehen.
In der folgenden Tabelle ist das nachgelagerte Verhalten für jede Run if-Bedingung zusammengefasst, wenn eine nachgelagerte Aufgabe deaktiviert ist. Die vollständige Liste der Optionen "Ausführen, wenn" finden Sie unter Konfiguration von Aufgabenabhängigkeiten.
| Ausführen, wenn Bedingung | Nachgeschaltetes Aufgabenverhalten, wenn eine übergeordnete Aufgabe deaktiviert ist | Beispiel |
|---|---|---|
| Alle erfolgreich (Standard) | Die downstream Aufgabe läuft nicht. Eine deaktivierte übergeordnete Aufgabe erfüllt die succeeded Anforderung nicht. |
A (disabled) → B: B wird nicht ausgeführt. |
| Mindestens ein Vorgang war erfolgreich | Die nachgeschaltete Aufgabe wird ausgeführt, wenn mindestens eine andere übergeordnete Aufgabe erfolgreich war. Wenn alle anderen übergeordneten Vorgänge fehlgeschlagen oder deaktiviert wurden, wird die nachgeschaltete Aufgabe nicht ausgeführt. |
A (disabled) und C (succeeded) → B: B läuft. |
| Keine Fehler | Die nachgeschaltete Aufgabe wird ausgeführt, wenn mindestens eine übergeordnete Aufgabe ohne Fehler abgeschlossen wurde. Wenn alle übergeordneten Aufgaben deaktiviert sind, wird der nachgeschaltete Vorgang nicht ausgeführt. |
A (disabled) und C (skipped) → B: B wird ausgeführt, weil keine übergeordnete Aufgabe fehlgeschlagen ist. |
| Fertig | Der nachgeschaltete Vorgang wird normal ausgeführt. Eine deaktivierte übergeordnete Aufgabe wird wie erledigt behandelt. |
A (disabled) → B: B wird ausgeführt. |
| Mindestens ein Fehler | Die nachgeschaltete Aufgabe wird ausgeführt, wenn mindestens eine andere übergeordnete Aufgabe fehlgeschlagen ist. Eine deaktivierte übergeordnete Aufgabe wird nicht als Fehler behandelt. Wenn keine andere übergeordnete Aufgabe fehlgeschlagen ist, wird die nachgeschaltete Aufgabe nicht ausgeführt. |
A (disabled) und C (failed) → B: B läuft. |
| Alle fehlgeschlagen | Die nachgelagerte Aufgabe läuft nicht. Eine deaktivierte übergeordnete Aufgabe wird nicht als ein Fehler behandelt. |
A (disabled) → B: B wird nicht ausgeführt. |
Note
Nur Aufgaben, die Sie explizit deaktivieren, haben disabled: true in der Auftragsdefinition. Lakeflow-Aufträge bestimmen die nachgeschaltete Deaktivierung zur Erstellungslaufzeit und wird nicht in den Auftragseinstellungen gespeichert.
Deaktivieren einer Aufgabe
Informationen zum Deaktivieren oder erneuten Aktivieren einer Aufgabe mithilfe der Benutzeroberfläche finden Sie unter "Deaktivieren einer Aufgabe".
So deaktivieren Sie eine Aufgabe über die API oder ein Bündel:
Legen Sie disabled: true für die Aufgabe in den Auftragseinstellungen mithilfe der REST-API Jobs, der Azure Databricks CLI, des Azure Databricks SDK oder eines Declarative Automation Bundles fest:
{
"tasks": [
{
"task_key": "load_raw_data",
"disabled": true,
"notebook_task": {
"notebook_path": "/Shared/etl/load_raw_data"
}
}
]
}
Die Antworten jobs/get und jobs/list werden nur für Aufgaben disabled: true zurückgegeben, die Sie explizit deaktiviert haben. Aufgaben, die während einer Ausführung dynamisch deaktiviert werden, werden nicht in den gespeicherten Auftragseinstellungen angezeigt.
Deaktivierte Aufgaben in Reparaturen und Teilläufen
Deaktivierte Aufgaben verhalten sich in Reparaturläufen und Teilläufen anders als bei einer typischen geplanten Ausführung:
-
Reparaturen: Lakeflow Jobs verwendet den Ausführungsstatus jeder Aufgabe, um zu bestimmen, was repariert werden soll, nicht den Status "Deaktiviert". Wenn Sie erzwingen möchten, dass eine deaktivierte Aufgabe als Teil einer Reparatur ausgeführt wird, fügen Sie sie in
rerun_tasksdie Reparaturanforderung ein. Weitere Informationen finden Sie unter Erneutes Ausführen fehlgeschlagener und übersprungener Aufgaben. - Teilläufe: Deaktivierte Aufgaben werden nicht standardmäßig ausgewählt, wenn Sie eine Teilausführung starten, aber Sie können sie auswählen, um sie einmal auszuführen, ohne sie in den Auftragseinstellungen erneut zu aktivieren. Lakeflow-Aufträge führen genau die von Ihnen ausgewählten Aufgaben aus und wenden Run if-Verbreitung nicht bei einem Teildurchlauf an.
Einschränkungen
Deaktivierte Aufgaben weisen die folgenden Einschränkungen auf:
- Ein
If/else conditionVorgang schlägt fehl, wenn der upstream-Vorgang, der seinen Bedingungswert bereitstellt, deaktiviert ist. - Ein
For eachVorgang schlägt fehl, wenn der upstream-Vorgang, der seine Eingabewerte bereitstellt, deaktiviert ist. - Nur vom Benutzer deaktivierte Aufgaben werden wie
disabled: truein der Auftragsdefinition angezeigt. Um zu sehen, welche nachgelagerten Aufgaben vor dem Ausführen des Auftrags betroffen sind, verwenden Sie die DAG-Ansicht in der Benutzeroberfläche "Aufträge".