在工作流程中使用全域變數可以減少重複參數的配置,常用於線上工作流程以及DataWorks離線調度工作流程。在線上工作流程中,全域變數使多個組件能夠共用相同的參數,而在DataWorks的離線調度中,則用於替換定時調度參數,從而提升工作流程的靈活性和效率。
使用方法
配置全域變數。
進入已建立的工作流程,單擊畫布空白處,在介面右側建立全域變數。
在使用全域變數處輸入
${變數名}
,即可引用該變數。
使用樣本1:線上工作流程使用全域變數
本例通過設定全域變數para1
,將表中的列名status
更改為ifHealth
,並在SQL指令碼中進行引用。
本例以預置模板“心臟病預測案例”為例建立工作流程,建立完成後,僅保留前兩個節點,並刪除其餘的節點。
單擊畫布空白處,在介面右側建立全域變數。
配置的全域變數名為
para1
,值為ifHealth
。使用全域變數。
修改SQL指令碼,將使用全域變數處替換為
${para1}
,引用該變數。運行工作流程。
待運行結束,右擊組件SQL指令碼,選擇查看資料 > SQL指令碼的輸出,可以看到列名
status
已經改為ifHealth
。
使用樣本2:DataWorks離線調度工作流程時使用全域變數
本例通過設定全域變數gDate
,將定時調度的工作流程與日期進行關聯,然後在DataWorks上設定同名調度參數進行調度。
建立測試資料表。
本例以在MaxCompute控制台上建立一個名為dwtest的表(詳見下表)為例。具體操作,請參見SQL參考。
建立工作流程並配置全域變數。
單擊畫布空白處,在介面右側建立全域變數
gDate
。配置工作流程組件。
讀資料表:表名配置為上述建立的表dwtest。
SQL指令碼:在SQL指令碼中使用上述配置的全域變數
gDate
。select * from ${t1} where ds=${gDate}
運行工作流程。
待運行結束,右擊組件SQL指令碼,選擇查看資料 > SQL指令碼的輸出,可以看到查詢的全域變數gDate對應的資料。
單擊畫布左上方的周期性調度,再單擊建立調度節點,跳轉到DataWorks進行離線調度,在建立節點對話方塊配置節點名稱,單擊確認。
選擇PAI Designer實驗,然後單擊畫面右側的調度配置。具體配置詳情,請參見任務調度配置。
本樣本配置如下,其餘保持預設配置:
調度參數:新增同名調度參數
gDate
,值為$bizdate
。時間屬性:重跑屬性配置為運行成功或失敗後皆可重跑。
調度依賴:依賴的上遊節點為使用工作空間根節點。
單擊工具列中的和表徵圖,根據介面提示,儲存並提交節點。
單擊頁面上方的營運中心,查看機器學習任務的運行情況和動作記錄。
您也可以直接進行補資料、工作流程試跑等操作,詳情請參見查看並管理周期任務。