調度作業
更新時間 2023-07-20 23:51:21
最近更新時間: 2023-07-20 23:51:21
分享文章
本章節主要介紹作業開發中的調度作業。
對已編排好的作業設置調度方式。
- 如果您的作業是批處理作業,您可以配置作業級別的調度任務,即以作業為一個整體進行調度,支持單次調度、周期調度、事件驅動調度三種調度方式。具體請參見下方“配置作業調度任務(批處理作業)”。
- 如果您的作業是實時處理作業,您可以配置節點級別的調度任務,即每一個節點可以獨立調度,支持單次調度、周期調度、事件驅動調度三種調度方式。具體請參見下方“配置節點調度任務(實時作業)”。
前提條件
- 已開發作業。
- 當前用戶已鎖定該作業,否則需要通過“搶鎖”鎖定作業后才能繼續開發作業。新建或導入作業后默認被當前用戶鎖定,詳情參見 提交版本并解鎖章節中的 編輯鎖定功能。
約束限制
- 調度周期需要合理設置,單個作業最多允許5個實例并行執行,如果作業實際執行時間大于作業配置的調度周期,會導致后面批次的作業實例堆積,從而出現計劃時間和開始時間相差大。例如CDM、ETL作業的調度周期至少應在5分鐘以上,并根據作業表的數據量、源端表更新頻次等調整。
- 如果通過DataArts Studio數據開發調度CDM遷移作業,CDM遷移作業處也配置了定時任務,則兩種調度均會生效。為了業務運行邏輯統一和避免調度沖突,推薦您啟用數據開發調度即可,無需配置CDM定時任務。
配置作業調度任務(批處理作業)
配置批處理作業的作業調度任務,支持單次調度、周期調度、事件驅動調度三種方式。操作方法如下:
單擊畫布右側“調度配置”頁簽,展開配置頁面,配置如下表所示的參數。
作業調度配置
| 參數 | 說明 |
|---|---|
| 調度方式 | 選擇作業的調度方式: 單次調度:手動觸發作業單次運行。 周期調度:周期性自動運行作業,參數說明請參見下表。 事件驅動調度:根據外部條件觸發作業運行,參數說明請參見下表。 |
| 空跑 | 如果勾選了空跑,任務不會實際執行,將直接返回成功。 |
“周期調度”的參數配置
| 參數 | 說明 |
|---|---|
| 生效時間 | 調度任務的生效時間段。 |
| 調度周期 | 選擇調度任務的執行周期,并配置相關參數。調度周期需要合理設置,單個作業最多允許5個實例并行執行,如果作業實際執行時間大于作業配置的調度周期,會導致后面批次的作業實例堆積,從而出現計劃時間和開始時間相差大。例如CDM、ETL作業的調度周期至少應在5分鐘以上,并根據作業表的數據量、源端表更新頻次等調整。 分鐘:支持在小時整點開始調度運行,調度周期可按間隔時間配置為分鐘級別,在當天結束時間結束調度后第二天再自動開始調度。 小時:支持在某一時刻開始調度運行,調度周期可按間隔時間配置為小時級別,在當天結束時間結束調度后第二天再自動開始調度。 天:支持在某天的某一時刻開始調度運行,調度周期為1天。 周:支持在一周中選擇一天或多天的某一時刻開始調度運行。 月:支持在一月中選擇一天或多天的某一時刻開始調度運行。 |
| 依賴作業 | 選擇周期調度作業作為依賴作業,則僅當依賴的作業在某段時間內有實例運行完成時,才開始執行當前作業。當前僅支持通過搜索作業名來選擇符合條件的作業為依賴作業。關于設置依賴作業的條件,以及設置依賴作業后的作業運行原理請參見作業依賴詳解。另外,依賴作業可以配置為多個作業,對于多個依賴作業,需等到某時間區間(詳見作業依賴詳解章節中的“設置依賴作業后的作業運行原理”)內所有依賴作業實例運行完成后,才能開始執行。約束條件如下: 作業A的調度周期不能比依賴作業B小。例如,作業A和作業B同為分鐘/小時調度,A的間隔時間小于B的間隔時間,則作業A不能設置作業B為依賴作業;作業A為分鐘調度,作業B為小時調度,則作業A不能設置作業B為依賴作業。 作業A和依賴作業B的不能有任一調度周期為周。例如,作業A的調度周期為周或作業B的調度周期為周,則作業A不能設置作業B為依賴作業。 調度周期為月的作業只能依賴調度周期為天的作業。例如,作業A的調度周期為月,則作業A只能設置調度周期為天的作業為依賴作業。 |
| 依賴的作業失敗后,當前作業處理策略 | 當依賴的作業在當前作業周期內存在運行失敗實例后,選擇當前作業的處理策略: 掛起 掛起當前作業,掛起的作業會阻塞后續作業的執行。您可以手動將依賴的作業強制成功,解決阻塞問題。 繼續執行 繼續執行當前作業。 終止執行 終止執行當前作業,當前作業的狀態為“取消”。 例如,當前作業調度周期為1小時, 依賴作業調度周期為5分鐘。 如果當前參數配置的是終止執行,依賴的作業12個實例中只要有一個失敗的,當前作業就終止執行。 如果當前參數配配置的是繼續執行,只要依賴的作業12個實例跑完了,當前作業就繼續執行。 說明 依賴的作業失敗后,當前作業處理策略可通過配置默認項進行批量設置,無需每個作業單獨設置。具體請參見配置默認項。 |
| 等待依賴作業的上一周期結束,才能運行 | 當作業依賴其他作業時,默認情況下等待某時間區間(詳見作業依賴詳解章節中的“設置依賴作業后的作業運行原理”)內是否有依賴的作業實例運行完成,然后才執行當前作業。如果依賴的作業實例未成功運行結束,則當前作業為等待運行狀態。當勾選此選項后,檢查此時間區間的上一周期區間內是否有作業實例運行完,然后再執行當前作業。 |
| 跨周期依賴 | 選擇作業實例之間的依賴關系。 不依賴上一調度周期。此處可以配置并發數,表示多個作業實例并行執行的個數。如果并發數配置為1,前一個批次執行完成后(包括成功、取消、或失敗),下一批次才開始執行。 自依賴(等待上一調度周期結束才能繼續運行)。 |
“事件驅動調度”的參數配置
| 參數 | 說明 |
|---|---|
| 觸發事件類型 | 選擇觸發作業運行的事件類型。 “KAFKA” |
| “KAFKA”觸發事件類型的參數 | |
| 連接名稱 | 選擇數據連接,需先在“管理中心”創建kafka數據連接。 |
| Topic | 選擇需要發往kafka的消息Topic。 |
| 事件處理并發數 | 選擇作業并行處理的數量,最大并發數為128。 |
| 事件檢測間隔 | 配置時間間隔,檢測通道下是否有新的消息。時間間隔單位可以配置為秒或分鐘。 |
| 讀取策略 | 選擇數據的讀取位置: 從上次位置讀取:首次啟動時,從最新的位置讀取數據。后續啟動時,則從前一次記錄的位置讀取數據。 從最新位置讀取:每次啟動都會從最新的位置讀取數據。 |
| 失敗策略 | 選擇調度失敗后的策略: 掛起 忽略失敗,讀取下一個 |
配置節點調度任務(實時作業)
配置實時處理作業的節點調度任務,支持單次調度、周期調度、事件驅動調度三種方式。操作方法如下:
單擊畫布中的節點,在右側顯示“調度配置”頁簽,單擊此頁簽,展開配置頁面,配置如下表所示的參數。
節點調度配置
| 參數 | 說明 |
|---|---|
| 調度方式 | 選擇作業的調度方式: 單次調度:手動觸發作業單次運行。 周期調度:周期性自動運行作業。 事件驅動調度:根據外部條件觸發作業運行。 |
| “周期調度”的參數 | |
| 生效時間 | 調度任務的生效時間段。 |
| 調度周期 | 選擇調度任務的執行周期,并配置相關參數: 分鐘 小時 天 周 月調度周期需要合理設置,如CDM、ETL作業的調度周期至少應在5分鐘以上,并根據作業表的數據量、源端表更新頻次等調整。 |
| 跨周期依賴 | 選擇作業下實例之間的依賴關系。 不依賴上一調度周期 自依賴(等待上一調度周期結束才能繼續運行) |
| “事件驅動調度”的參數 | |
| 觸發事件類型 | 選擇觸發作業運行的事件類型。 |
| 連接名稱 | 選擇數據連接,需先在“管理中心”創建kafka數據連接。 |
| Topic | 選擇需要發往kafka的消息Topic。 |
| 消費組 | 消費者組是kafka提供的可擴展且具有容錯性的消費者機制。 它是一個組,所以內部有可以有多個消費者,這些消費者共用一個ID,一個組內的所有消費者共同協作,完成對訂閱的主題的所有分區進行消費。其中一個主題中的一個分區只能由一個消費者消費。 說明 1. 一個消費者組可以有多個消費者。 2. Group ID是一個字符串,在一個kafka集群中,它標識唯一的一個消費者組。 3. 每個消費者組訂閱的所有主題中,每個主題的每個分區只能由一個消費者消費。消費者組之間不影響。當觸發事件類型選擇了DIS或KAFKA時,會自動關聯出消費組的ID,用戶也可以手動修改。 |
| 事件處理并發數 | 選擇作業并行處理的數量,最大并發數為10。 |
| 事件檢測間隔 | 配置時間間隔,檢測通道下是否有新的消息。時間間隔單位可以配置為秒或分鐘。 |
| 失敗策略 | 選擇節點執行失敗后的策略: 掛起 忽略失敗,繼續調度 |