共用方式為


控制在 Databricks 任務中的工作流程

有些作業只是需要完成的工作清單。 您可以藉由指定工作之間的相依性來控制工作的執行順序。 您可以設定工作以順序或平行方式執行。

不過,您也可以建立分支流程,包括條件式工作、錯誤更正或清除。 Azure Databricks 提供功能來控制作業內的工作流程。 下列主題描述您可以控制工作流程的方式。

重試次數

重試會指定當工作失敗並出現錯誤訊息時,應該重新執行特定工作的次數。 錯誤通常是暫時性的,並透過重新啟動來解決。 Azure Databricks 上的某些功能,例如使用結構化串流進行架構演進,假設您使用重試執行作業來重設環境,並允許工作流程繼續進行。

如果您指定工作的重試次數,如果工作發生錯誤,工作會重新啟動到指定的次數。 並非所有作業組態都支援工作重試。 請參閱 設定重試原則

在連續觸發模式下執行時,Databricks 會自動使用指數退避機制進行重試。 請參閱 如何處理連續作業的失敗?

條件式工作時執行

如果 工作類型,則可以使用 Run,根據其他工作的結果來指定後續工作的條件。 您會將任務新增至職務,並指定上游依賴的工作。 根據這些工作的狀態,您可以設定一或多個下游工作來執行。 作業支援下列相依性:

  • 全部成功
  • 至少一個成功
  • 無失敗
  • 全部完成
  • 至少一個失敗
  • 全部失敗

請參閱 設定工作相依性

If/else 條件式工作

您可以使用 If/else 工作類型,根據某些值來指定條件式。 請參閱 使用 If/else 工作將分支邏輯新增至作業

作業支援您在邏輯中定義的 taskValues,並允許您將某些計算或狀態的結果從任務傳回至作業環境。 您可以針對 taskValues、作業參數或動態值定義 If/else 條件。

Azure Databricks 支援下列條件作數:

  • ==
  • !=
  • >
  • >=
  • <
  • <=

另請參閱:

每個任務

使用 For each 任務來在迴圈中運行另一個任務,將不同組參數傳遞至任務的每次反覆。

若要將 For each 工作新增至作業,您必須定義 For each 工作和 巢狀工作。 巢狀工作是針對 For each 工作的每個反覆項目執行的工作,而且是其中一個標準 Databricks 工作類型。 支援多種方法用來將參數傳遞至巢狀工作。

請參閱 在循環中執行 Azure Databricks 參數化作業任務