調度參數是根據任務調度的業務時間及調度參數的取值格式自動替換為具體的值,實現在任務調度時間內參數的動態替換。本文為您介紹如何配置及使用調度參數,並以ODPS SQL節點為例,講解調度參數配置完成後使用煙霧測試 (Smoke Test)功能測試調度參數的替換情況。
注意事項
運行()與進階運行()功能需手動為代碼中的變數賦值常量,因此無法校正配置的調度參數是否符合預期。
調度參數配置流程
調度參數的配置流程如下表。
序號 | 描述 | 相關參考 |
1 | 您需在節點代碼中通過 | |
2 | 通過可視化及運算式兩種方式為代碼中的變數賦值。 | |
3 | 通過調度參數預覽功能,單獨測試調度參數在調度情境下的替換情況。 | |
4 | 通過開發環境煙霧測試 (Smoke Test)功能,測試調度情境下代碼執行與參數替換情況。 | |
5 | 測試通過後,任務發布至生產環境,您需在生產營運中心的周期任務介面,確認生產環境任務使用的調度參數是否符合預期。 |
定義變數
您可根據業務需求,參考下圖步驟在代碼中自訂變數,並在
中為變數賦值。部分節點會內建${bizdate}
變數名,該變數名自動賦值為$bizdate
,您可替換代碼中bizdate
變數名為自訂的變數名。
為變數賦值調度參數
DataWorks支援使用可視化方式或運算式方式新增參數。
參數定義方式 | 功能點 | 描述 | 配置圖示 |
可視化方式 | 新增參數 | 同一個調度任務可以配置多個調度參數,當需使用多個調度參數時,可以單擊新增參數添加。 更多調度參數的賦值,詳情請參見調度參數支援的格式。 | |
載入代碼中的參數 | 用於自動識別當前任務代碼中定義的變數名,並將識別到的變數名添加為調度參數,便於調度任務後續使用。 說明 通常,代碼中是按照 Pyodps節點、通用Shell節點對於變數名的定義方式與其他節點存在差異。各類型節點的調度參數配置格式,詳情請參見各類型節點的調度參數配置樣本。 | ||
運算式方式 | 用運算式定義 | 調度參數配置介面預設使用可視化方式定義參數,如果您習慣使用運算式定義,則可單擊用運算式定義進行參數定義。 說明
|
測試調度參數替換情況
中括弧格式$[...]
的取值與節點調度周期配置有關,即與執行個體定時時間有關。調度周期配置,詳情請參見時間屬性配置說明。
調度參數賦值完成後,您可使用調度參數預覽功能,單獨測試參數的替換是否符合預期。
DataWorks會根據節點的調度配置,類比任務調度時的參數轉換,您可基於轉換後的參數值驗證調度參數轉換是否正確。若參數值不符合預期,請根據業務需求及時調整調度配置,以免影響任務正常調度運行。
測試代碼執行及調度參數替換情況
調度參數賦值完成後,建議通過煙霧測試 (Smoke Test)功能,配置業務日期,類比目標任務的調度情境,驗證該情境下代碼執行及調度參數的替換是否符合預期。若不符合預期,請根據需要及時調整,以免影響任務正常調度運行。
修改節點代碼後,請及時儲存()並提交()。當節點最新代碼提交至開發環境後,才可在開發環境使用煙霧測試 (Smoke Test)功能。
運行()與進階運行()功能需手動為代碼中的變數賦值常量,因此無法校正配置的調度參數是否符合預期。
執行煙霧測試 (Smoke Test)時,會產生相應執行個體產生執行個體費用。執行個體的費用詳情請參見Serverless資源群組計費。
執行煙霧測試 (Smoke Test)
查看煙霧測試 (Smoke Test)日誌
確認生產環境任務的調度參數配置
完整配置樣本
本文以ODPS SQL節點為例,通過在開發環境執行煙霧測試 (Smoke Test)功能測試配置的調度參數是否符合預期,並在任務發布後,查看生產營運中心中該任務的調度參數配置情況。
各類型節點的調度參數配置,詳情請參見各類型節點的調度參數配置樣本。
編輯節點代碼並配置調度參數。
ODPS SQL節點的代碼及調度參數的配置情況如下圖所示。
代碼中定義變數。
在ODPS SQL節點代碼中引用系統內建參數
'${var1}'
、'${var2}'
,系統自訂參數'${var3}'
、'${var4}'
變數(如地區1)。為變數賦值。
在
地區,為變數賦值(如地區2)。var1=$bizdate
,即取yyyymmdd
格式的業務日期。var2=$cyctime
,即取yyyymmddhh24miss
格式的任務定時已耗用時間。var3=${yyyymmdd}
,即取yyyymmdd
格式的業務日期。var4=$[yyyymmddhh24miss]
,即取yyyymmddhh24miss
格式的任務定時已耗用時間。
可選:配置時間周期。
配置ODPS SQL節點的調度周期為小時調度(如地區3)。
說明您可以根據實際情況選擇是否配置時間周期,本文以添加時間周期樣本。
調度開始時間為
16:00
調度結束時間為
23:59
調度時間間隔為
1
小時。
更多時間周期配置,詳情請參見時間屬性配置說明。
在節點編輯頁面的頂部工具列,單擊及表徵圖,儲存並提交ODPS SQL節點的配置。
執行開發環境煙霧測試 (Smoke Test)。
單擊表徵圖,在開發環境測試對話方塊配置業務時間,類比節點的調度周期。
業務時間配置如下:
業務日期:
2022-03-09
開始時間:
16:00
結束時間:
17:00
ODPS SQL任務為小時調度任務,則該任務在
2022-03-10
的16:00
、17:00
時間會產生兩個執行個體。說明因為業務日期為運行日期的前一天,因此,任務實際運行日期為
2022-03-10
。16:00
節點預期的取值結果如下:var1=20220309
。var2=20220310160000
。var3=20220309
。var4=20220310160000
。
17:00
節點預期的取值結果如下:var1=20220309
。var2=20220310170000
。var3=20220309
。var4=20220310170000
。
單擊確認,節點按照指定時間啟動運行。
已耗用時間結束後,單擊表徵圖,查看煙霧測試 (Smoke Test)日誌。
節點產生的兩個執行個體運行成功,且節點運行結果符合預期。
在ODPS SQL節點編輯頁面,單擊頂部功能表列右側的發布,發布當前節點。
任務的發佈動作,詳情請參見發布任務。
進入營運中心,確認節點的調度參數配置。
單擊DataStudio頂部功能表列右側的營運中心,進入營運中心頁面。
在 介面,搜尋目標節點。
說明節點發布成功後,您才能在周期任務介面搜尋到。
單擊目標節點操作列的 ,在節點基本資料中查看執行參數。
本次樣本中,節點的執行參數為
var1=$bizdate var2=$cyctime var3=${yyyymmdd} var4=$[yyyymmddhh24miss]
,符合預期。