配置并使用調(diào)度參數(shù)
調(diào)度參數(shù)是根據(jù)任務(wù)調(diào)度的業(yè)務(wù)時間及調(diào)度參數(shù)的取值格式自動替換為具體的值,實現(xiàn)在任務(wù)調(diào)度時間內(nèi)參數(shù)的動態(tài)替換。本文為您介紹如何配置及使用調(diào)度參數(shù),并以O(shè)DPS SQL節(jié)點為例,講解調(diào)度參數(shù)配置完成后使用冒煙測試功能測試調(diào)度參數(shù)的替換情況。
注意事項
運行()與高級運行()功能需手動為代碼中的變量賦值常量,因此無法校驗配置的調(diào)度參數(shù)是否符合預(yù)期。
調(diào)度參數(shù)配置流程
調(diào)度參數(shù)的配置流程如下表。
序號 | 描述 | 相關(guān)參考 |
1 | 您需在節(jié)點代碼中通過 | |
2 | 通過可視化及表達(dá)式兩種方式為代碼中的變量賦值。 | |
3 | 通過調(diào)度參數(shù)預(yù)覽功能,單獨測試調(diào)度參數(shù)在調(diào)度場景下的替換情況。 | |
4 | 通過開發(fā)環(huán)境冒煙測試功能,測試調(diào)度場景下代碼執(zhí)行與參數(shù)替換情況。 | |
5 | 測試通過后,任務(wù)發(fā)布至生產(chǎn)環(huán)境,您需在生產(chǎn)運維中心的周期任務(wù)界面,確認(rèn)生產(chǎn)環(huán)境任務(wù)使用的調(diào)度參數(shù)是否符合預(yù)期。 |
配置調(diào)度參數(shù),并驗證參數(shù)執(zhí)行情況的完整示例,詳情請參見完整配置示例。配置調(diào)度參數(shù)時的常見問題,請參見調(diào)度參數(shù)。
定義變量
您可根據(jù)業(yè)務(wù)需求,參考下圖步驟在代碼中自定義變量,并在
中為變量賦值。部分節(jié)點會自帶${bizdate}
變量名,該變量名自動賦值為$bizdate
,您可替換代碼中bizdate
變量名為自定義的變量名。
為變量賦值調(diào)度參數(shù)
DataWorks支持使用可視化方式或表達(dá)式方式新增參數(shù)。
參數(shù)定義方式 | 功能點 | 描述 | 配置圖示 |
可視化方式 | 新增參數(shù) | 同一個調(diào)度任務(wù)可以配置多個調(diào)度參數(shù),當(dāng)需使用多個調(diào)度參數(shù)時,可以單擊新增參數(shù)添加。 更多調(diào)度參數(shù)的賦值,詳情請參見調(diào)度參數(shù)支持的格式。 | |
加載代碼中的參數(shù) | 用于自動識別當(dāng)前任務(wù)代碼中定義的變量名,并將識別到的變量名添加為調(diào)度參數(shù),便于調(diào)度任務(wù)后續(xù)使用。 說明 通常,代碼中是按照 Pyodps節(jié)點、通用Shell節(jié)點對于變量名的定義方式與其他節(jié)點存在差異。各類型節(jié)點的調(diào)度參數(shù)配置格式,詳情請參見各類型節(jié)點的調(diào)度參數(shù)配置示例。 | ||
表達(dá)式方式 | 用表達(dá)式定義 | 調(diào)度參數(shù)配置界面默認(rèn)使用可視化方式定義參數(shù),如果您習(xí)慣使用表達(dá)式定義,則可單擊用表達(dá)式定義進(jìn)行參數(shù)定義。 說明
|
測試調(diào)度參數(shù)替換情況
中括號格式$[...]
的取值與節(jié)點調(diào)度周期配置有關(guān),即與實例定時時間有關(guān)。調(diào)度周期配置,詳情請參見時間屬性配置說明。
調(diào)度參數(shù)賦值完成后,您可使用調(diào)度參數(shù)預(yù)覽功能,單獨測試參數(shù)的替換是否符合預(yù)期。
DataWorks會根據(jù)節(jié)點的調(diào)度配置,模擬任務(wù)調(diào)度時的參數(shù)轉(zhuǎn)換,您可基于轉(zhuǎn)換后的參數(shù)值驗證調(diào)度參數(shù)轉(zhuǎn)換是否正確。若參數(shù)值不符合預(yù)期,請根據(jù)業(yè)務(wù)需求及時調(diào)整調(diào)度配置,以免影響任務(wù)正常調(diào)度運行。
測試代碼執(zhí)行及調(diào)度參數(shù)替換情況
調(diào)度參數(shù)賦值完成后,建議通過冒煙測試功能,配置業(yè)務(wù)日期,模擬目標(biāo)任務(wù)的調(diào)度場景,驗證該場景下代碼執(zhí)行及調(diào)度參數(shù)的替換是否符合預(yù)期。若不符合預(yù)期,請根據(jù)需要及時調(diào)整,以免影響任務(wù)正常調(diào)度運行。
修改節(jié)點代碼后,請及時保存()并提交()。當(dāng)節(jié)點最新代碼提交至開發(fā)環(huán)境后,才可在開發(fā)環(huán)境使用冒煙測試功能。
運行()與高級運行()功能需手動為代碼中的變量賦值常量,因此無法校驗配置的調(diào)度參數(shù)是否符合預(yù)期。
執(zhí)行冒煙測試時,會生成相應(yīng)實例產(chǎn)生實例費用。實例的費用詳情請參見Serverless資源組計費。
執(zhí)行冒煙測試
查看冒煙測試日志
確認(rèn)生產(chǎn)環(huán)境任務(wù)的調(diào)度參數(shù)配置
為避免周期調(diào)度任務(wù)運行時,由于調(diào)度參數(shù)不符合預(yù)期,導(dǎo)致任務(wù)運行出現(xiàn)問題,建議在任務(wù)發(fā)布后,前往生產(chǎn)運維中心的周期任務(wù)界面,查看生產(chǎn)環(huán)境下該周期任務(wù)的調(diào)度參數(shù)配置情況。查看周期任務(wù),詳情請參見查看并管理周期任務(wù)。
如果周期任務(wù)的調(diào)度參數(shù)配置不符合預(yù)期,或運維中心搜索不到目標(biāo)任務(wù),請確認(rèn)該任務(wù)是否發(fā)布成功。任務(wù)的發(fā)布操作,詳情請參見發(fā)布任務(wù)。
完整配置示例
本文以O(shè)DPS SQL節(jié)點為例,通過在開發(fā)環(huán)境執(zhí)行冒煙測試功能測試配置的調(diào)度參數(shù)是否符合預(yù)期,并在任務(wù)發(fā)布后,查看生產(chǎn)運維中心中該任務(wù)的調(diào)度參數(shù)配置情況。
各類型節(jié)點的調(diào)度參數(shù)配置,詳情請參見各類型節(jié)點的調(diào)度參數(shù)配置示例。
編輯節(jié)點代碼并配置調(diào)度參數(shù)。
ODPS SQL節(jié)點的代碼及調(diào)度參數(shù)的配置情況如下圖所示。
代碼中定義變量。
在ODPS SQL節(jié)點代碼中引用系統(tǒng)內(nèi)置參數(shù)
'${var1}'
、'${var2}'
,系統(tǒng)自定義參數(shù)'${var3}'
、'${var4}'
變量(如區(qū)域1)。為變量賦值。
在
區(qū)域,為變量賦值(如區(qū)域2)。var1=$bizdate
,即取yyyymmdd
格式的業(yè)務(wù)日期。var2=$cyctime
,即取yyyymmddhh24miss
格式的任務(wù)定時運行時間。var3=${yyyymmdd}
,即取yyyymmdd
格式的業(yè)務(wù)日期。var4=$[yyyymmddhh24miss]
,即取yyyymmddhh24miss
格式的任務(wù)定時運行時間。
可選:配置時間周期。
配置ODPS SQL節(jié)點的調(diào)度周期為小時調(diào)度(如區(qū)域3)。
說明您可以根據(jù)實際情況選擇是否配置時間周期,本文以添加時間周期示例。
調(diào)度開始時間為
16:00
調(diào)度結(jié)束時間為
23:59
調(diào)度時間間隔為
1
小時。
更多時間周期配置,詳情請參見時間屬性配置說明。
在節(jié)點編輯頁面的頂部工具欄,單擊及圖標(biāo),保存并提交ODPS SQL節(jié)點的配置。
執(zhí)行開發(fā)環(huán)境冒煙測試。
單擊圖標(biāo),在開發(fā)環(huán)境測試對話框配置業(yè)務(wù)時間,模擬節(jié)點的調(diào)度周期。
業(yè)務(wù)時間配置如下:
業(yè)務(wù)日期:
2022-03-09
開始時間:
16:00
結(jié)束時間:
17:00
ODPS SQL任務(wù)為小時調(diào)度任務(wù),則該任務(wù)在
2022-03-10
的16:00
、17:00
時間會生成兩個實例。說明因為業(yè)務(wù)日期為運行日期的前一天,因此,任務(wù)實際運行日期為
2022-03-10
。16:00
節(jié)點預(yù)期的取值結(jié)果如下:var1=20220309
。var2=20220310160000
。var3=20220309
。var4=20220310160000
。
17:00
節(jié)點預(yù)期的取值結(jié)果如下:var1=20220309
。var2=20220310170000
。var3=20220309
。var4=20220310170000
。
單擊確認(rèn),節(jié)點按照指定時間啟動運行。
運行時間結(jié)束后,單擊圖標(biāo),查看冒煙測試日志。
節(jié)點生成的兩個實例運行成功,且節(jié)點運行結(jié)果符合預(yù)期。
在ODPS SQL節(jié)點編輯頁面,單擊頂部菜單欄右側(cè)的發(fā)布,發(fā)布當(dāng)前節(jié)點。
任務(wù)的發(fā)布操作,詳情請參見發(fā)布任務(wù)。
進(jìn)入運維中心,確認(rèn)節(jié)點的調(diào)度參數(shù)配置。
單擊DataStudio頂部菜單欄右側(cè)的運維中心,進(jìn)入運維中心頁面。
在 界面,搜索目標(biāo)節(jié)點。
說明節(jié)點發(fā)布成功后,您才能在周期任務(wù)界面搜索到。
單擊目標(biāo)節(jié)點操作列的 ,在節(jié)點基本信息中查看執(zhí)行參數(shù)。
本次示例中,節(jié)點的執(zhí)行參數(shù)為
var1=$bizdate var2=$cyctime var3=${yyyymmdd} var4=$[yyyymmddhh24miss]
,符合預(yù)期。