時間屬性用於定義節點在生產環境的周期調度方式。您可通過調度配置的時間屬性,配置節點組建循環執行個體的方式,執行個體調度周期與執行時間,是否支援重跑,任務執行超過多長時間自動結束等。本文為您介紹如何配置節點調度的時間屬性。
配置指引
您需進入資料開發節點的編輯頁面,單擊右側導覽列的調度配置,配置節點的時間屬性。
您可在調度配置中定義單個任務調度屬性,也可通過大量操作功能批量修改任務調度屬性。例如,批量修改任務調度時間,批量修改任務使用的調度資源群組等。
時間屬性包含的配置類別如下表。
類別 | 描述 |
用於定義節點在生產環境產生執行個體的時間。 | |
用於定義節點在生產環境的運行方式。 | |
用於定義任務調度日期及調度方式。 | |
用於定義節點在生產環境中的運行頻率(組建循環執行個體個數及執行個體啟動並執行時間)。 | |
用於定義節點運行超過多長時間會失敗退出。 | |
用於定義節點產生的執行個體是否可以重跑,即從資料等冪性考慮,任務是否可以重跑,或者在什麼情況下可以重跑。 | |
用於定義節點正常自動調度啟動並執行時間範圍,該時間範圍外,節點將不再自動調度。 |
使用說明
調度任務的時間屬性配置,僅定義任務預期執行時間,其實際是否執行與實際執行時間受多方因素影響,包括但不限於以下情境:
調度開關控制
僅當DataWorks工作空間開啟啟用調度周期開關後,工作空間中的任務才可以根據其配置自動調度運行。您需進入工作空間的調度設定頁面,開啟相應開關,詳情請參見調度設定。
依賴關係對任務執行時間的影響
任務定時時間基於單個節點維度定義,但任務實際已耗用時間與節點依賴的上遊節點的定時時間有關,所以即便當前節點的定時時間早於上遊節點,當前節點仍需等待上遊節點的定時時間到來並且執行成功後,當前節點才會執行,詳情請參見依賴關係對任務執行的影響。
執行資源對任務執行時間的影響
當前節點的執行,除了取決於上遊父節點的定時時間及運行是否成功外,還與當前節點本身執行所用的資源群組有關。任務執行時間點是否存在充足的資源也將影響任務的執行,詳情請參見任務執行機制。
環境影響
DataWorks僅生產環境才會自動調度,若需要進行周期調度,您需要將任務發布至生產環境。開發環境不支援自動調度。
調度任務執行方式
DataWorks上,調度任務會根據調度類型及周期數產生相應的周期執行個體(例如,小時調度任務每天會根據周期數產生相應數量的小時執行個體),並通過執行個體的方式運行任務。
調度時間
在淩晨業務高峰期,所有定時時間設定為00:00點的任務(包括工作空間根節點),預計將於00:00~00:05之間調度運行。
執行個體產生方式
節點提交發布至生產環境調度系統後,平台會根據節點配置的執行個體產生方式(包括T+1次日產生和發布後即時產生)產生自動調度的周期執行個體,無論使用哪種執行個體產生方式,都可在營運中心的周期任務介面看到任務的最新依賴情況。但周期執行個體何時生效或依賴關係何時更新,與您選擇的執行個體產生方式有關,具體如下。
無論選擇哪種執行個體產生方式,23:30~24:00
時間段的變更操作均會在節點發布至生產環境後的第三天生效,請盡量避免在該時間段執行任務變更操作。
執行個體產生方式 | 說明 |
T+1次日產生 | 節點發布至生產環境後第二天自動調度,您可在周期執行個體頁面查看任務的執行情況。 若您當天需執行任務,可選擇對該任務執行補資料操作。補資料選擇業務時間昨天與今天的周期執行個體執行情況一致。 |
節點發布至生產環境後當天自動調度,您可在周期執行個體頁面查看任務的執行情況。 說明 僅當節點設定的定時時間為未來時間,該執行個體才會正常執行;定時時間為過去時間的執行個體將會空跑,不真實執行任務(此處存在十分鐘時間間隔)。
|
調度類型
DataWorks支援的調度類型如下表所示。
調度類型 | 影響說明 | 使用情境 |
正常調度 | 按照調度周期配置的定時時間啟動調度,正常執行任務(即會真實跑資料)。 當前節點正常執行後,也會觸發下遊節點正常調度執行,通常任務的調度類型預設選中該項。 | 正常狀態啟動並執行周期任務,並且產生的周期執行個體也是正常狀態運行。 |
暫停調度 | 按照調度周期配置的定時時間啟動調度,但節點狀態被置為暫停(即不會真實跑資料)。 調度到該任務時,系統會直接返回失敗,並且會阻塞依賴當前節點的下遊節點執行。 說明 暫停狀態的節點在營運中心的表徵圖標識為。 | 凍結狀態的周期任務,其產生的周期執行個體也為凍結狀態。當前節點不可執行,並且阻塞下遊節點執行。 當某類商務程序在一定時間內不需要執行時,可選擇此調度類型來凍結商務程序根節點。當業務需要執行時,可再對商務程序根節點執行解凍操作。解凍任務,詳情請參見任務凍結與解凍。 |
空跑調度 | 按照調度周期配置的定時時間啟動調度,但該節點為空白跑狀態(即不會真實跑資料)。 調度到該任務時,系統會直接返回成功(執行時間長度為 | 當某個節點在一定時間內不需要執行,並且不阻塞他的下遊節點執行時,可選擇此類型調度。 |
調度日曆
用於定義任務的調度日期與調度方式,DataWorks支援如下兩種日曆:
預設日曆:平台提供,適用於通用情境。
自訂調度日曆:使用者自訂,適用於有靈活調度日期需求的行業及情境(例如,金融行業)。可根據需要配置日曆所應用的工作空間、日曆的有效期間、指定日期任務的調度方式等規則,詳情請參見配置調度日曆。
調度周期
調度周期即任務在調度情境下自動執行的周期數,用於定義在生產環境調度系統中,多久會真實執行一次節點中的代碼邏輯。調度任務會根據調度類型及周期數產生相應的周期執行個體(例如,小時調度任務每天會根據周期數產生相應數量的小時執行個體),通過周期執行個體的方式自動調度運行周期任務。
任務調度頻率與上遊任務周期無關
任務多久調度一次與任務本身定義的調度周期有關,與上遊任務調度周期無關。
DataWorks支援不同調度周期的任務互相依賴
DataWorks中,調度任務會根據調度類型及周期數產生相應的周期執行個體(例如,小時調度任務每天會根據周期數產生相應數量的小時執行個體),通過執行個體的方式運行任務。周期任務設定的依賴關係,其本質是任務間所產生執行個體的依賴。上下遊任務的調度類型不同,其產生的周期執行個體數及執行個體的依賴情況不同。不同調度周期的上下遊依賴情況,請參見必讀:複雜依賴情境調度配置原則與樣本。
非調度時間任務會空跑
DataWorks上非每天調度的任務(例如周、月調度的任務)在非調度時間內會空跑,當到達任務定義的調度時間後立即返回成功狀態。若下遊存在日調度任務,會調起該下遊日調度任務正常執行。即上遊空跑,下遊調度任務正常根據節點定義的調度時間執行。
任務執行時間說明
此處僅設定任務預期調度時間,任務的實際執行時間受多方因素影響。例如,上遊定時時間、任務執行資源情況、任務實際運行條件等,詳情請參見任務運行條件說明。
DataWorks支援的調度類型如下。
調度類型 | 說明 | 典型情境配置樣本 |
分鐘調度即每天指定的時間段內,調度任務按 | 每30分鐘運行一次。 | |
小時調度即每天指定的時間段內,調度任務按 | 每小時運行一次。 | |
日調度即調度節點每天在指定的定時時間運行一次。建立周期任務時,日調度預設的時間周期為每天0點運行一次。您可根據需要自行指定已耗用時間點。 | 每天淩晨24點運行。 | |
周調度即調度任務每周的特定幾天,在特定時間點自動運行一次。 重要 非調度時間內任務每日仍會產生執行個體,執行個體顯示為成功狀態,但實際會空跑,不會真實執行任務。 | 每周五中午12點運行。 | |
月調度即調度任務在每月的特定幾天,在特定時間點自動運行一次。 重要 非調度時間內任務每日仍會產生執行個體,執行個體顯示為成功狀態,但實際空跑,不會真實執行任務。 | 每個月最後一天運行。 | |
年調度即調度任務在每年的特定幾天,在特定時間點自動運行一次。 重要 非調度時間內任務每日仍會產生執行個體,執行個體顯示為成功狀態,但實際會空跑,不會真實執行任務。 | 每季度首月最後一天運行。 |
逾時定義
設定逾時時間後,如果任務運行時間長度超過逾時時間,任務將自動終止運行。其配置說明如下:
逾時時間對周期執行個體、補資料執行個體、測試執行個體均生效。
逾時時間預設值為3~7天,系統根據實際負載情況動態調整預設的任務逾時時間,範圍為3~7天不等。
手動設定逾時時間時,最大值可設定為168小時(7天)。
重跑說明
您可在時間屬性中配置節點在特定情況下重跑,以及指定重跑時間及次數。
使用重跑屬性時,應盡量保證任務的等冪性(特殊任務除外),避免在任務出錯重跑後,出現大量資料品質問題。例如,在ODPS SQL的開發過程中,使用
insert overwrite
語句來替代insert into
語句。DataWorks工作空間的調度設定頁面,用於設定重跑相關參數的預設值,設定後,新建立的任務將使用該預設配置。詳情請參見調度設定。
重跑屬性
重跑屬性不可為空,其支援的類型及應用情境如下表所示。
說明單擊去設定預設重跑屬性值,即可設定重跑屬性的預設值。
類型
應用情境
運行成功或失敗後均可重跑
如果節點多次重跑不會影響結果,可選擇使用該重跑類型。
運行成功後不可重跑,運行失敗後可以重跑
如果節點運行一次成功後,重跑後會影響運行結果,而運行失敗後重跑不會影響結果,可選擇使用該重跑類型。
運行成功或失敗後皆不可重跑
如果節點不管運行成功或失敗,重跑後都會影響運行結果(例如,某些資料同步節點),可選擇使用該重跑類型。
說明當選擇該類型時,如果系統出故障,在故障恢複後,系統也不會自動重跑相應節點。
不支援配置出錯自動重跑。
出錯自動重跑
出錯自動重跑(即任務運行失敗後會自動觸發重跑)的配置參數說明如下表所示。
參數
描述
重跑次數
周期任務調度執行失敗的情況下,預設自動重跑的次數。
重跑次數最少配置為1(即任務出錯後自動重跑1次),最多配置為10(即任務出錯後會自動重跑10次)。您可以根據業務需要進行修改。
重跑間隔
預設每次重跑的間隔為30分鐘,最小支援設定為1分鐘,最大支援設定為30分鐘。
說明當重跑屬性設定為運行成功或失敗後皆不可重跑時,則不會顯示出錯自動重跑屬性,即任務出錯不會自動重跑。
您可以在調度配置頁面,設定工作空間層級的預設重跑次數和重跑間隔。詳情請參見調度設定。
任務執行時,超過了逾時時間導致的節點失敗,自動重跑配置將不生效。
生效日期
調度節點在有效日期內生效並自動調度,超過有效期間的任務將不會自動調度。此類任務為到期任務,您可在營運大屏查看到期任務數量,並根據情況對其做下線等處理。
附錄:關於空跑現象說明
包含指定執行日期的周、月、年調度節點,在不真實跑資料的日期內,同樣會按照調度周期的定時時間啟動調度。但該執行個體的狀態為空白跑狀態(即不會真實跑資料)。當調度到空跑狀態的執行個體時,其空跑表現如下:
系統直接返回運行成功,即執行時間長度為
0
秒。不會真正執行任務,即執行日誌為空白。
不會阻塞依賴當前節點的下遊節點執行,即下遊節點正常執行。
不會佔用資源。