DataWorks會為您的周期調度節點自動生成自調度實例,支持T+1次日生成、發布后即時生成兩種實例生成方式,即發布至生產環境后第二天自動調度及發布至生產環境后立即自動調度。本文為您介紹即時生成實例的規則及配置要點。
注意事項
選擇發布后即時生成方式,并將任務發布至生產環境后,建議您前往運維中心確認配置是否符合預期。
周期實例生效情況
調度任務發布至生產環境后,均可在運維中心的周期任務界面查看任務的最新依賴情況,但自動調度的周期實例何時生效,或依賴關系何時更新,與您選擇的實例生成方式有關。
變更操作的生效時間
每日全量轉實例期間(即
23:30~24:00
),任務的變更操作會在第三天產生的周期實例生效。推薦的使用場景
建議僅在需要根據新配置,替換已有自動調度的周期實例時,選擇使用該功能。其他場景非必要不建議使用實時轉實例。
重要對已發布生產的任務修改調度配置時,不建議使用該功能。如果使用,可能存在依賴關系變更、依賴關系錯亂、實例替換、實例被刪除等現象,導致當天依賴關系變得復雜。
如果您需要根據新任務配置,可選擇T+1次日生成方式發布,然后針對該任務執行補數據操作。
使用該功能后,第二天任務依賴關系會恢復正常。
即時生成實例存在時間差
為避免實例變更導致任務運行異常,發布后即時生成實例存在10分鐘的時間差,即任務定時時間在發布時間點10分鐘后才會真實執行或根據最新的調度配置重新生成實例并調度。
說明在勾選即時生成實例后,配置調度時間時,調度時間與發布時間差值大于10分鐘,這樣才能保證即時生成實例不會產生空跑。
即時生成實例的作用范圍
并非所有變更都會立即生效。例如修改了節點關聯的數據源實例,然后配置即時生成實例發布,不會影響當天已有實例,當天周期實例仍會采用變更前的數據源實例執行。
您可以對最新配置的周期任務執行補數據操作,補數據將根據任務最新配置執行。
功能概要
使用發布后即時生成方式生成實例時,相關功能場景的實例運行及上下游依賴情況如下。
功能場景 | 相關文檔 |
新建任務發布當天會即時生成實例,發布當天生成的實例是否真實執行,與任務的定時時間有關。 | |
修改已發布任務的調度時間(即定時時間與調度頻率),當天實例依賴較復雜。非必要,建議已發布任務不使用發布后即時生成實例方式。 | |
若上下游均為新建任務,但上下游實例的生成方式不一致,可能導致產生場景:節點孤立。 | |
任務發布后即時生成的實例,其下游會按照上游最新的調度配置(天、月、小時)來設置下游依賴。 |
場景一:新建節點發布后選擇即時生成實例
新發布至生產環境的任務,實例執行情況與其定時時間有關,如下表。
場景 | 描述 |
任務的定時時間為未來時間 | DataWorks將根據定時時間生成可執行的周期實例并調度執行。 該策略僅影響任務當天的實例運行情況。實例是否替換,與實例定時時間是否在發布時間點10分鐘后有關,詳情請參見注意事項。 |
任務的定時時間為過去時間 | DataWorks會生成過期的空跑實例,實例狀態為實時生成的過期實例,該實例不會真實執行。 若需執行當天數據,可選擇進行補數據操作,補業務時間昨天的數據。該操作生成實例時也會存在10分鐘的時間差,詳情請參見注意事項。 |
示例:假設任務發布至生產環境的時間為12:00
,則實時轉實例生效時間點為12:10
。
若任務的定時時間在
12:10
后,則任務將真實調度執行。若任務的定時時間在
12:10
前,則任務將空跑,其實例狀態為實時生成的過期實例。
場景二:更新已發布任務的調度周期
更新生產任務的調度時間(即調度頻率與定時時間),并將變更操作發布至生產環境,該任務當天周期實例可能會出現變更前與變更后的實例同時存在,因此,會導致任務當天的依賴關系比較復雜。
此場景僅發生在實時轉實例任務發布的當天,發布第二天任務會正常根據配置生成周期實例。
具體如下:
任務的定時時間為未來時間
DataWorks將根據最新調度配置替換已生成的未來時間段的實例。
任務的定時時間為過去時間
DataWorks會保留定時時間之前的實例,替換或刪除定時時間之后的實例。
調度時間變更并發布后,當天實例是否會根據新配置重新生成實例并真實執行,取決于任務定時時間的設置,以及最終將變更操作發布至生產環境的時間點。詳情請參見注意事項。
場景三:上下游任務實例生成方式不一致
若上下游均為新建節點,并且上下游任務的實例生成方式不一致。例如,上游選擇T+1次日生成,下游選擇發布后即時生成,則會導致產生場景:節點孤立。孤立節點不會自動調度運行,如果該孤立節點下游依賴較多,可能會造成較嚴重的后果。
場景四:變更任務調度時間,對下游依賴關系的影響
下游節點掛載依賴時,會按照上游節點最新的調度配置(天、月、小時依賴)來設置下游依賴。
變更調度時間的生產任務,其下游實例會按照最新的調度配置,為新生成的實例和未替換的舊實例掛載依賴,小時、分鐘各場景依賴情況,詳情請參見必讀:復雜依賴場景調度配置原則與示例。待發布的節點版本,其實例生成方式為發布后即時生成,且存在調度時間變更時,才會出現該場景。
示例場景如下:
場景一:上游節點從每6小時調度一次,變更為每8小時調度一次,并且選擇即時生成實例。
場景二:上游節點從每6小時調度一次,變更為每日16點調度一次,并且選擇即時生成實例。