共用方式為


設定任務相依性

[如果相依則執行] 欄位可讓您根據其他任務的成功、失敗或完成,將控制項流程邏輯新增至任務。

相依性會在工作 DAG 中以任務間的線條視覺化表示。

Azure Databricks 會在執行下游任務之前執行上游任務,並盡可能並行執行它們。

注意

[相依於] 僅在工作包含多項任務時可見。

Databricks 也有下列控制項流程和條件化功能:

將 Run if 條件新增至任務

如果您在建立新任務時已在 DAG 中選取任務,則新任務預設會對此任務設定相依性。

若要編輯或新增條件,請執行下列作業:

  1. 選取任務。
  2. 在 [相依於] 欄位中,按下 [X] 以移除任務,或從下拉式功能表中選取要新增的任務。
  3. 選取 [如果相依則執行] 欄位中的其中一個條件式選項。
  4. 按一下 [儲存任務]

Run if 條件選項

您可將下列 Run if 條件新增至任務:

  • 全部成功:所有相依性都已執行並取得成功。 這是預設設定。 如果未滿足條件,任務會標示為 Upstream failed
  • 至少有一項成功:至少有一個相依性成功。 如果未滿足條件,任務會標示為 Upstream failed
  • 無失敗:沒有相依性失敗,並且至少執行一個相依性。 如果未滿足條件,任務會標示為 Upstream failed
  • 全部完成:不論相依性執行的狀態為何,任務都會在其所有相依性執行之後執行。 此條件可讓您定義執行的任務,而無視其相依任務的結果。
  • 至少一項失敗:至少一個相依性失敗。 如果未滿足條件,任務會標示為 Excluded
  • 全部失敗:所有相依性均失敗。 如果未滿足條件,任務會標示為 Excluded

注意

  • 如果未滿足 Run if 條件,設定為處理失敗的任務會標示為 Excluded。 已排除的任務會被略過,並視為成功。
  • 如果排除所有任務相依性,任務也會被排除,不論其 Run if 條件為何。
  • 如果您取消任務執行,取消會透過下游任務傳播,並執行具有處理失敗的 Run if 條件的任務,例如,驗證在取消任務執行時是否執行清理任務。

具有任務相依性的範例工作

設定任務相依性會建立任務執行的有向非循環圖 (DAG),這是表示工作排程器中執行順序的常見方式。 例如,請考慮包含四項任務的下列工作:

任務相依性範例圖表

  • 任務 1 是根任務,不相依於任何其他任務。
  • 任務 2 和任務 3 取決於首先完成的任務 1。
  • 最後,任務 4 取決於後續完成的任務 2 和任務 3。

下圖說明這些任務的處理順序:

任務相依性範例流程