全部產品
Search
文件中心

DataWorks:配置並使用調度參數

更新時間:Jun 19, 2024

調度參數是根據任務調度的業務時間及調度參數的取值格式自動替換為具體的值,實現在任務調度時間內參數的動態替換。本文為您介紹如何配置及使用調度參數,並以ODPS SQL節點為例,講解調度參數配置完成後使用煙霧測試 (Smoke Test)功能測試調度參數的替換情況。

注意事項

運行(運行)與進階運行(進階運行)功能需手動為代碼中的變數賦值常量,因此無法校正配置的調度參數是否符合預期。

調度參數配置流程

調度參數的配置流程如下表。
序號描述相關參考
1您需在節點代碼中通過${變數名}的方式定義變數,再前往調度配置 > 參數介面為變數賦值調度參數。定義變數
2通過可視化及運算式兩種方式為代碼中的變數賦值。為變數賦值調度參數
3通過調度參數預覽功能,單獨測試調度參數在調度情境下的替換情況。測試調度參數替換情況
4通過開發環境煙霧測試 (Smoke Test)功能,測試調度情境下代碼執行與參數替換情況。測試代碼執行及調度參數替換情況
5測試通過後,任務發布至生產環境,您需在生產營運中心的周期任務介面,確認生產環境任務使用的調度參數是否符合預期。確認生產環境任務的調度參數配置
配置調度參數,並驗證參數執行情況的完整樣本,詳情請參見完整配置樣本

定義變數

您可根據業務需求,參考下圖步驟在代碼中自訂變數,並在調度配置 > 參數中為變數賦值。
說明 部分節點會內建${bizdate}變數名,該變數名自動賦值為$bizdate,您可替換代碼中bizdate變數名為自訂的變數名。
定義變數

為變數賦值調度參數

DataWorks支援使用可視化方式或運算式方式新增參數。
參數定義方式功能點描述配置圖示
可視化方式新增參數同一個調度任務可以配置多個調度參數,當需使用多個調度參數時,可以單擊新增參數添加。

更多調度參數的賦值,詳情請參見調度參數支援的格式

新增參數
載入代碼中的參數用於自動識別當前任務代碼中定義的變數名,並將識別到的變數名添加為調度參數,便於調度任務後續使用。
說明 通常,代碼中是按照${自訂變數名}方式來定義變數名。

Pyodps節點、通用Shell節點對於變數名的定義方式與其他節點存在差異。各類型節點的調度參數配置格式,詳情請參見各類型節點的調度參數配置樣本

載入代碼中的參數
運算式方式用運算式定義調度參數配置介面預設使用可視化方式定義參數,如果您習慣使用運算式定義,則可單擊用運算式定義進行參數定義。
說明
  • 使用運算式定義時,多個參數之間使用空格分隔。
  • 當通過用運算式定義方式,添加、刪除或修改調度參數時,DataWorks會對當前運算式的文法進行校正,校正不通過則無法配置相應調度參數。

    例如,DataWorks會對等號左右不允許使用空格等文法規則進行檢測。

運算式定義

測試調度參數替換情況

說明 中括弧格式$[...]的取值與節點調度周期配置有關,即與執行個體定時時間有關。調度周期配置,詳情請參見時間屬性配置說明

調度參數賦值完成後,您可使用調度參數預覽功能,單獨測試參數的替換是否符合預期。

DataWorks會根據節點的調度配置,類比任務調度時的參數轉換,您可基於轉換後的參數值驗證調度參數轉換是否正確。若參數值不符合預期,請根據業務需求及時調整調度配置,以免影響任務正常調度運行。

測試代碼執行及調度參數替換情況

調度參數賦值完成後,建議通過煙霧測試 (Smoke Test)功能,配置業務日期,類比目標任務的調度情境,驗證該情境下代碼執行及調度參數的替換是否符合預期。若不符合預期,請根據需要及時調整,以免影響任務正常調度運行。

修改節點代碼後,請及時儲存(儲存)並提交(提交)。當節點最新代碼提交至開發環境後,才可在開發環境使用煙霧測試 (Smoke Test)功能。

說明
  1. 執行煙霧測試 (Smoke Test)煙霧測試 (Smoke Test)
  2. 查看煙霧測試 (Smoke Test)日誌查看煙霧測試 (Smoke Test)日誌

確認生產環境任務的調度參數配置

為避免周期調度任務運行時,由於調度參數不符合預期,導致任務運行出現問題,建議在任務發布後,前往生產營運中心的周期任務介面,查看生產環境下該周期任務的調度參數配置情況。查看周期任務,詳情請參見查看並管理周期任務生產環境確認參數配置
說明 如果周期任務的調度參數配置不符合預期,或營運中心搜尋不到目標任務,請確認該任務是否發布成功。任務的發佈動作,詳情請參見發布任務

完整配置樣本

本文以ODPS SQL節點為例,通過在開發環境執行煙霧測試 (Smoke Test)功能測試配置的調度參數是否符合預期,並在任務發布後,查看生產營運中心中該任務的調度參數配置情況。
說明 各類型節點的調度參數配置,詳情請參見各類型節點的調度參數配置樣本
  1. 編輯節點代碼並配置調度參數。
    ODPS SQL節點的代碼及調度參數的配置情況如下圖所示。節點代碼及參數配置
    1. 代碼中定義變數。
      在ODPS SQL節點代碼中引用系統內建參數'${var1}''${var2}',系統自訂參數'${var3}''${var4}'變數(如地區1)。
    2. 為變數賦值。
      調度配置 > 參數地區,為變數賦值(如地區2)。
      • var1=$bizdate,即取yyyymmdd格式的業務日期。
      • var2=$cyctime,即取yyyymmddhh24miss格式的任務定時已耗用時間。
      • var3=${yyyymmdd},即取yyyymmdd格式的業務日期。
      • var4=$[yyyymmddhh24miss],即取yyyymmddhh24miss格式的任務定時已耗用時間。
    3. 可選:配置時間周期。
      配置ODPS SQL節點的調度周期為小時調度(如地區3)。
      說明 您可以根據實際情況選擇是否配置時間周期,本文以添加時間周期樣本。
      • 調度開始時間為16:00
      • 調度結束時間為23:59
      • 調度時間間隔為1小時。
      更多時間周期配置,詳情請參見時間屬性配置說明
  2. 在節點編輯頁面的頂部工具列,單擊儲存提交表徵圖,儲存並提交ODPS SQL節點的配置。
  3. 執行開發環境煙霧測試 (Smoke Test)。
    1. 單擊開發環境煙霧測試 (Smoke Test)表徵圖,在開發環境測試對話方塊配置業務時間,類比節點的調度周期。
      配置業務時間業務時間配置如下:
      • 業務日期:2022-03-09
      • 開始時間:16:00
      • 結束時間:17:00
      ODPS SQL任務為小時調度任務,則該任務在2022-03-1016:0017:00時間會產生兩個執行個體。
      說明 因為業務日期為運行日期的前一天,因此,任務實際運行日期為2022-03-10
      16:00節點預期的取值結果如下:
      • var1=20220309
      • var2=20220310160000
      • var3=20220309
      • var4=20220310160000
      17:00節點預期的取值結果如下:
      • var1=20220309
      • var2=20220310170000
      • var3=20220309
      • var4=20220310170000
    2. 單擊確認,節點按照指定時間啟動運行。
    3. 已耗用時間結束後,單擊查看煙霧測試 (Smoke Test)日誌表徵圖,查看煙霧測試 (Smoke Test)日誌。
      節點產生的兩個執行個體運行成功,且節點運行結果符合預期。查看測試結果
  4. 在ODPS SQL節點編輯頁面,單擊頂部功能表列右側的發布,發布當前節點。
    任務的發佈動作,詳情請參見發布任務
  5. 進入營運中心,確認節點的調度參數配置。
    生產環境參數配置
    1. 單擊DataStudio頂部功能表列右側的營運中心,進入營運中心頁面。
    2. 周期任務營運 > 周期任務介面,搜尋目標節點。
      說明 節點發布成功後,您才能在周期任務介面搜尋到。
    3. 單擊目標節點操作列的更多 > 查看節點詳情,在節點基本資料中查看執行參數
      本次樣本中,節點的執行參數為var1=$bizdate var2=$cyctime var3=${yyyymmdd} var4=$[yyyymmddhh24miss],符合預期。