全部產品
Search
文件中心

DataWorks:時間屬性配置說明

更新時間:Jun 21, 2024

時間屬性用於定義節點在生產環境的周期調度方式。您可通過調度配置的時間屬性,配置節點組建循環執行個體的方式,執行個體調度周期與執行時間,是否支援重跑,任務執行超過多長時間自動結束等。本文為您介紹如何配置節點調度的時間屬性。

配置指引

您需進入資料開發節點的編輯頁面,單擊右側導覽列的調度配置,配置節點的時間屬性。時間屬性

說明

您可在圖示位置定義單個任務調度屬性,也可通過大量操作功能批量修改任務調度屬性。例如,批量修改任務調度時間,批量修改任務使用的調度資源群組等。

時間屬性包含的配置類別如下表。

類別

描述

執行個體產生方式

用於定義節點在生產環境產生執行個體的時間。

調度類型

用於定義節點在生產環境的運行方式。

調度日曆

用於定義任務調度日期及調度方式。

調度周期

用於定義節點在生產環境中的運行頻率(組建循環執行個體個數及執行個體啟動並執行時間)。您可通過時間配置方式參數,選擇使用表單定義,或自訂cron運算式。

逾時定義

用於定義節點運行超過多長時間會失敗退出。

重跑說明

用於定義節點產生的執行個體是否可以重跑,即從資料等冪性考慮,任務是否可以重跑,或者在什麼情況下可以重跑。

生效日期

用於定義節點正常自動調度啟動並執行時間範圍,該時間範圍外,節點將不再自動調度。

使用說明

調度任務的時間屬性配置,僅定義任務預期執行時間,其實際是否執行與實際執行時間受多方因素影響,包括但不限於以下情境:

  • 調度開關控制

    僅當DataWorks工作空間開啟啟用調度周期開關後,工作空間中的任務才可以根據其配置自動調度運行。您需進入工作空間的調度設定頁面,開啟相應開關,詳情請參見調度設定

  • 依賴關係對任務執行時間的影響

    任務定時時間基於單個節點維度定義,但任務實際已耗用時間與節點依賴的上遊節點的定時時間有關,所以即便當前節點的定時時間早於上遊節點,當前節點仍需等待上遊節點的定時時間到來並且執行成功後,當前節點才會執行,詳情請參見依賴關係對任務執行的影響

  • 執行資源對任務執行時間的影響

    當前節點的執行,除了取決於上遊父節點的定時時間及運行是否成功外,還與當前節點本身執行所用的資源群組有關。任務執行時間點是否存在充足的資源也將影響任務的執行,詳情請參見任務執行機制

  • 環境影響

    DataWorks僅生產環境才會自動調度,若需要進行周期調度,您需要將任務發布至生產環境。開發環境不支援自動調度。

  • 調度任務執行方式

    DataWorks上,調度任務會根據調度類型及周期數產生相應的周期執行個體(例如,小時調度任務每天會根據周期數產生相應數量的小時執行個體),並通過執行個體的方式運行任務。

  • 調度時間

    在淩晨業務高峰期,所有定時時間設定為00:00點的任務(包括工作空間根節點),預計將於00:00~00:05之間調度運行。

執行個體產生方式

節點提交發布至生產環境調度系統後,平台會根據節點配置的執行個體產生方式(包括T+1次日產生發布後即時產生)產生自動調度的周期執行個體,無論使用哪種執行個體產生方式,都可在營運中心的周期任務介面看到任務的最新依賴情況。但周期執行個體何時生效或依賴關係何時更新,與您選擇的執行個體產生方式有關,具體如下。

重要

無論選擇哪種執行個體產生方式,23:30~24:00時間段的變更操作均會在節點發布至生產環境後的第三天生效,請盡量避免在該時間段執行任務變更操作。

執行個體產生方式

說明

T+1次日產生

節點發布至生產環境後第二天自動調度,您可在周期執行個體頁面查看任務的執行情況。

若您當天需執行任務,可選擇對該任務執行補資料操作。補資料選擇業務時間昨天今天的周期執行個體執行情況一致。

發布後即時產生

節點發布至生產環境後當天自動調度,您可在周期執行個體頁面查看任務的執行情況。

說明

僅當節點設定的定時時間為未來時間,該執行個體才會正常執行;定時時間為過去時間的執行個體將會空跑,不真實執行任務(此處存在十分鐘時間間隔)。

  • 建立任務:選擇此方式時,該任務當天是否真實跑資料,是否空跑,與任務的定時時間及發布時間有關。

  • 發行的生產任務修改調度周期:選擇此方式時,DataWorks會根據最新調度情況替換已產生的未來時間段的執行個體,但到期的執行個體不會刪除。因此,發行的任務修改調度頻率並選擇發布後即時產生執行個體,當天的依賴關係較為複雜。

調度類型

DataWorks支援的調度類型如下表所示。

調度類型

影響說明

使用情境

正常調度

按照調度周期配置的定時時間啟動調度,正常執行任務(即會真實跑資料)。

當前節點正常執行後,也會觸發下遊節點正常調度執行,通常任務的調度類型預設選中該項。

正常狀態啟動並執行周期任務,並且產生的周期執行個體也是正常狀態運行。

暫停調度

按照調度周期配置的定時時間啟動調度,但節點狀態被置為暫停(即不會真實跑資料)。

調度到該任務時,系統會直接返回失敗,並且會阻塞依賴當前節點的下遊節點執行。

說明

暫停狀態的節點在營運中心的表徵圖標識為暫停

凍結狀態的周期任務,其產生的周期執行個體也為凍結狀態。當前節點不可執行,並且阻塞下遊節點執行。

當某類商務程序在一定時間內不需要執行時,可選擇此調度類型來凍結商務程序根節點。當業務需要執行時,可再對商務程序根節點執行解凍操作。解凍任務,詳情請參見任務凍結與解凍

空跑調度

按照調度周期配置的定時時間啟動調度,但該節點為空白跑狀態(即不會真實跑資料)。

調度到該任務時,系統會直接返回成功(執行時間長度為0秒),不會真正執行任務(即執行日誌為空白)、不會阻塞依賴當前節點的下遊節點執行(即下遊節點正常執行)、也不會佔用資源。

當某個節點在一定時間內不需要執行,並且不阻塞他的下遊節點執行時,可選擇此類型調度。

調度日曆

用於定義任務的調度日期與調度方式,DataWorks支援如下兩種日曆:

  • 預設日曆:平台提供,適用於通用情境。

  • 自訂調度日曆:使用者自訂,適用於有靈活調度日期需求的行業及情境(例如,金融行業)。可根據需要配置日曆所應用的工作空間、日曆的有效期間、指定日期任務的調度方式等規則,詳情請參見配置調度日曆

您需根據所選調度日曆,結合調度類型調度周期等其他調度配置,實現任務在指定時間進行調度。

調度周期

調度周期即任務在調度情境下自動執行的周期數,用於定義在生產環境調度系統中,多久會真實執行一次節點中的代碼邏輯。調度任務會根據調度類型及周期數產生相應的周期執行個體(例如,小時調度任務每天會根據周期數產生相應數量的小時執行個體),通過周期執行個體的方式自動調度運行周期任務。

重要
  • 任務調度頻率與上遊任務周期無關

    任務多久調度一次與任務本身定義的調度周期有關,與上遊任務調度周期無關。

  • DataWorks支援不同調度周期的任務互相依賴

    DataWorks中,調度任務會根據調度類型及周期數產生相應的周期執行個體(例如,小時調度任務每天會根據周期數產生相應數量的小時執行個體),通過執行個體的方式運行任務。周期任務設定的依賴關係,其本質是任務間所產生執行個體的依賴。上下遊任務的調度類型不同,其產生的周期執行個體數及執行個體的依賴情況不同。不同調度周期的上下遊依賴情況,請參見必讀:複雜依賴情境調度配置原則與樣本

  • 非調度時間任務會空跑

    DataWorks上非每天調度的任務(例如周、月調度的任務)在非調度時間內會空跑,當到達任務定義的調度時間後立即返回成功狀態。若下遊存在日調度任務,會調起該下遊日調度任務正常執行。即上遊空跑,下遊調度任務正常根據節點定義的調度時間執行。

  • 任務執行時間說明

    此處僅設定任務預期調度時間,任務的實際執行時間受多因素影響。例如,上遊定時時間、任務執行資源情況、任務實際運行條件等,詳情請參見任務運行條件說明

DataWorks支援的調度類型如下。

說明

您也可按需自訂cron運算式。

調度類型

說明

典型情境配置樣本

分鐘調度

分鐘調度即每天指定的時間段內,調度任務按N*指定分鐘的時間間隔運行一次。分鐘調度的時間間隔最小粒度只能設定為5分鐘。

每30分鐘運行一次。分鐘調度

小時調度

小時調度即每天指定的時間段內,調度任務按N*1小時的時間間隔運行一次。

每小時運行一次。小時調度

日調度

日調度即調度節點每天在指定的定時時間運行一次。建立周期任務時,日調度預設的時間周期為每天0點運行一次。您可根據需要自行指定已耗用時間點。

每天淩晨24點運行。日樣本

周調度

周調度即調度任務每周的特定幾天,在特定時間點自動運行一次。

重要

非調度時間內任務每日仍會產生執行個體,執行個體顯示為成功狀態,但實際會空跑,不會真實執行任務。

每周五中午12點運行。周樣本

月調度

月調度即調度任務在每月的特定幾天,在特定時間點自動運行一次。

重要

非調度時間內任務每日仍會產生執行個體,執行個體顯示為成功狀態,但實際空跑,不會真實執行任務。

每個月最後一天運行。月樣本

年調度

年調度即調度任務在每年的特定幾天,在特定時間點自動運行一次。

重要

非調度時間內任務每日仍會產生執行個體,執行個體顯示為成功狀態,但實際會空跑,不會真實執行任務。

每季度首月最後一天運行。季度樣本

逾時定義

設定逾時時間後,如果任務運行時間長度超過逾時時間,任務將自動終止運行。其配置說明如下:

  • 逾時時間對周期執行個體、補資料執行個體、測試執行個體均生效。

  • 逾時時間預設值為3~7天,系統根據實際負載情況動態調整預設的任務逾時時間,範圍為3~7天不等。

  • 手動設定逾時時間時,最大值可設定為168小時(7天)。

說明

2021年1月7日之前購買的獨享調度資源群組,請提交工單聯絡技術支援人員升級資源群組,升級後才可支援逾時時間設定。

重跑說明

您可在時間屬性中配置節點在特定情況下重跑,以及指定重跑時間及次數。

說明
  • 使用重跑屬性時,應盡量保證任務的等冪性(特殊任務除外),避免在任務出錯重跑後,出現大量資料品質問題。例如,在ODPS SQL的開發過程中,使用insert overwrite語句來替代insert into語句。

  • DataWorks工作空間的調度設定頁面,用於設定重跑相關參數的預設值,設定後,新建立的任務將使用該預設配置。詳情請參見調度設定

  • 重跑屬性

    重跑屬性不可為空,其支援的類型及應用情境如下表所示。

    說明

    單擊去設定預設重跑屬性值,即可設定重跑屬性的預設值。

    類型

    應用情境

    運行成功或失敗後均可重跑

    如果節點多次重跑不會影響結果,可選擇使用該重跑類型。

    運行成功後不可重跑,運行失敗後可以重跑

    如果節點運行一次成功後,重跑後會影響運行結果,而運行失敗後重跑不會影響結果,可選擇使用該重跑類型。

    運行成功或失敗後皆不可重跑

    如果節點不管運行成功或失敗,重跑後都會影響運行結果(例如,某些資料同步節點),可選擇使用該重跑類型。

    說明
    • 當選擇該類型時,如果系統出故障,在故障恢複後,系統也不會自動重跑相應節點。

    • 不支援配置出錯自動重跑

  • 出錯自動重跑

    出錯自動重跑(即任務運行失敗後會自動觸發重跑)的配置參數說明如下表所示。

    參數

    描述

    重跑次數

    周期任務調度執行失敗的情況下,預設自動重跑的次數。

    重跑次數最少配置為1(即任務出錯後自動重跑1次),最多配置為10(即任務出錯後會自動重跑10次)。您可以根據業務需要進行修改。

    重跑間隔

    預設每次重跑的間隔為30分鐘,最小支援設定為1分鐘,最大支援設定為30分鐘。

    說明
    • 當重跑屬性設定為運行成功或失敗後皆不可重跑時,則不會顯示出錯自動重跑屬性,即任務出錯不會自動重跑。

    • 您可以在調度配置頁面,設定工作空間層級的預設重跑次數和重跑間隔。詳情請參見調度設定

    • 任務執行時,超過了逾時時間導致的節點失敗,自動重跑配置將不生效。

生效日期

調度節點在有效日期內生效並自動調度,超過有效期間的任務將不會自動調度。此類任務為到期任務,您可在營運大屏查看到期任務數量,並根據情況對其做下線等處理。

附錄:關於空跑現象說明

包含指定執行日期的周、月、年調度節點,在不真實跑資料的日期內,同樣會按照調度周期的定時時間啟動調度。但該執行個體的狀態為空白跑狀態(即不會真實跑資料)。當調度到空跑狀態的執行個體時,其空跑表現如下:

  • 系統直接返回運行成功,即執行時間長度為0秒。

  • 不會真正執行任務,即執行日誌為空白。

  • 不會阻塞依賴當前節點的下遊節點執行,即下遊節點正常執行。

  • 不會佔用資源。