注意事項
在使用DMS任務編排功能時,可能會出現任務調度延遲或由于SQL及腳本缺少冪等性而影響下游數據正確性的情況。如下為您說明出現這種情況的場景以及處理方案。
任務調度延遲
在每日凌晨和每小時整點的任務調度高峰期,可能會出現任務調度延遲的情況。因此,在設置SQL條件時您需要考慮調度延遲,以確保在發生調度延遲時下游數據的正確性。
SQL及腳本的冪等性
說明SQL腳本冪等性是指一條SQL語句或一組SQL語句,無論執行多少次,其結果都是一致的,不會因為重復執行而導致數據不一致。
為保證數據的正確性,建議您在編寫SQL及腳本時使用具有冪等性的操作語句,如
insert overwrite
、replace into
等,并重復執行SQL以驗證是否會影響下游數據的正確性。
數量限制
單個DMS租戶最多可創建5000個任務流(任務編排+數倉開發)。
每個任務流中最多包含100個任務節點。
任務編排最多包含200個業務場景。
任務流、任務節點執行時長限制
任務編排中任務流執行的時長不能超過18小時。
任務編排的任務節點存在執行時長限制,超過限制后,該任務節點會被強制停止執行,并顯示執行失敗。如下為各任務節點執行時長限制說明:
任務節點類型 | 任務節點名稱 | 執行時長限制 |
數據集成 | DTS數據遷移 | 大約14小時。 |
離線數據集成 | 大約8小時。 | |
數據加工 | 單實例SQL | 大約14小時。 |
循環SQL | 單個批次SQL大約14小時,整體受任務流執行總時長18小時限制。 | |
跨庫Spark SQL | 大約8小時。 | |
Lindorm Spark | 大約11小時。 | |
ADB Spark | 大約14小時。 | |
DLA Serverless Spark | 大約5小時30分鐘。 | |
無鎖數據變更 | 大約14小時。 | |
DLA Spark SQL | 大約5小時30分鐘。 | |
通用 | 單實例SQL賦值 | 執行時長與實例配置中的查詢超時時間有關。 |
條件分支 | 執行任務節點時間極短。 | |
DLA一鍵建倉 | 大約5小時30分鐘。 | |
DBS備份 | 無執行時長限制。 | |
ECS遠程命令 | 大約11小時。 | |
腳本命令 | 大約18小時。 | |
狀態檢查 | 表時間列狀態檢查 | 執行任務節點時間極短。 |
Lindorm文件檢查 | 執行任務節點時間極短。 | |
SQL狀態檢查 | 執行時長與實例配置中的查詢超時時間有關。 | |
稽核任務 | 執行任務節點時間極短。 | |
任務流依賴檢查 | 執行任務節點時間極短。 |
以上任務節點均可在高級設置中開啟重跑(任務失敗后)。開啟后,若任務執行失敗,則在一定時間后會重新執行該任務,此時任務節點的總執行時長(包含重跑前的時間)可能會超過18小時。