分享方式:


依排程或持續執行作業

您可以使用已排程的觸發程式類型定期執行 Azure Databricks 作業,或確定一律會以連續觸發程式類型執行作業。

您可以使用排程,在指定的時間和期間自動執行 Azure Databricks 作業。 您可以定義簡單的排程,以定期執行作業,或用來 cron 定義定期排程特定時間的進階排程。 使用進階排程,您也可以選取排程的時區。 您可以隨時暫停排程的工作。

當您使用連續觸發程式執行作業時,Azure Databricks 作業可確保一律有一個作用中的作業執行。 新的作業執行會在上一次執行順利完成或狀態失敗之後啟動,如果目前沒有執行中作業的實例,則為 。

新增作業排程

排程觸發程式類型有兩個選項:

  • 定義基本排程,以根據指定的時間單位和間隔定期執行作業。 例如,排程作業每隔 12 小時執行一次。
  • 定義進階排程,以在運行作業期間、時間和時區提供更多控制權。

若要定義作業的排程:

  1. 在提要欄位中,按兩下 [ 工作流程]。
  2. 在 [作業] 索引標籤上的 [名稱] 資料列中,按兩下作業名稱。
  3. 在 [ 作業詳細數據] 面板中,按兩下 [ 新增觸發程式]。
  4. [觸發程序類型 ] 中,選取 [ 已排程]。
  5. 在 [排程類型] 中,選取 [簡單] 或 [進階]。
    1. 簡單:指定要執行作業的間隔和時間單位。
    2. 進階:指定期間、開始時間和時區。 選擇性地選取 [顯示 Cron 語法] 複選框,以顯示和編輯在[矽 Cron 語法] 中的排程。
  6. 按一下 [檔案] 。

您也可以直接在筆記本 UI排程筆記本作業。

注意

  • Azure Databricks 會強制執行作業排程所觸發的後續執行之間的最小間隔 10 秒,而不論 cron 表達式中的秒組態為何。
  • 您可以選擇觀察日光節約時間或 UTC 的時區。 如果您選取觀察日光節約時間的時區,則會略過每小時工作,或可能在日光節約時間開始或結束時延遲一兩小時。 若要每小時執行 (絕對時間),請選擇 [UTC]。
  • 作業排程器不適用於低延遲作業。 由於網路或雲端問題,作業執行偶爾可能會延遲至數分鐘。 在這些情況下,排程的工作會在服務可用性時立即執行。

暫停和繼續作業排程

若要暫停作業,請按兩下 [作業詳細數據] 面板中的 [暫停]。

若要繼續暫停的作業排程,請按兩下 [ 繼續]。

執行連續作業

  1. 在提要欄位中,按兩下 [ 工作流程]。
  2. 在 [作業] 索引標籤上的 [名稱] 資料列中,按兩下作業名稱。
  3. 按兩下 [作業詳細資料] 面板中的 [新增觸發程式],按兩下 [作業詳細數據] 面板中的 [新增觸發程式],在 [觸發程式類型] 中選取 [連續],然後按兩下 [儲存]。

若要停止連續作業,請按兩下 藍色向下插入號 [立即執行] 旁的 ,然後按兩下 [停止]。

注意

  • 連續作業只能有一個執行中的實例。
  • 執行完成和新回合開始之間有一個小延遲。 此延遲應小於 60 秒。
  • 您無法將工作相依性與連續作業搭配使用
  • 您無法將重試原則與連續作業搭配使用。 相反地,連續作業會使用 指數輪詢 來管理作業執行失敗。
  • 在暫停的連續作業上選取 [ 立即 執行] 會觸發新的作業執行。 如果作業未暫停,則會擲回例外狀況。
  • 若要讓連續作業挑選新的作業組態,請取消現有的執行,然後自動啟動新的執行。 您也可以按下 [ 重新啟動執行 ] 以使用更新的組態重新啟動作業執行。

連續作業的失敗如何處理?

Azure Databricks 作業會使用 指數輪詢 配置來管理連續失敗的連續作業。 指數輪詢可讓連續作業在沒有暫停的情況下執行,並在發生可復原失敗時回到狀況良好的狀態。

當連續作業超過連續失敗的允許臨界值時,下列描述後續作業的執行管理方式:

  1. 工作會在系統設定的重試期間之後重新啟動。
  2. 如果下一個作業執行失敗,重試期間就會增加,而且作業會在這個新的重試期間之後重新啟動。
    1. 針對每個後續的作業執行失敗,重試期間會再次增加,最多為系統所設定的最大重試期間。 達到重試期間上限之後,工作會使用重試期間上限繼續重試。 連續作業的重試次數沒有限制。
    2. 如果作業執行順利完成並啟動新的執行,或如果執行超過臨界值而沒有失敗,則作業會視為狀況良好,而輪詢順序會重設。

您可以在作業 UI 中以指數輪詢狀態重新啟動連續作業,或在作業 2.0 API 中將作業標識符傳遞至 POST /api/2.1/jobs/run-now 要求,或 POST /api/2.0/jobs/run-now 要求。