全部產品
Search
文件中心

Platform For AI:全域變數

更新時間:Sep 15, 2026

全域變數可減少工作流程中重複參數的配置,常用於線上工作流程和DataWorks離線調度工作流程。線上工作流程中,全域變數讓多個組件共用同一參數;DataWorks離線調度中,全域變數用於替換定時調度參數,提升工作流程的靈活性和效率。

使用方法

  1. 配置全域變數。

    進入已建立的工作流程,單擊畫布空白處,在介面右側建立全域變數。

    全域變數的引用方式為${變數名}。變數名為1~20個字元,必須以字母開頭,只能包含字母、底線和數字。全域變數用於離線調度時,需在離線調度中配置同名變數;此處填寫的變數值僅用於線上運行實驗,離線調度時會被同名調度參數的值替換。

  2. 在使用全域變數處輸入${變數名},即可引用該變數。

使用樣本1:線上工作流程使用全域變數

本樣本設定全域變數para1,將表中的列名status更改為ifHealth,並在SQL指令碼中引用該變數。

  1. 建立工作流程。

    本樣本以預置模板“心臟病預測案例”建立工作流程。建立完成後,僅保留前兩個節點,刪除其餘節點。

  2. 單擊畫布空白處,在介面右側建立全域變數。

    配置的全域變數名為para1,值為ifHealth。

  3. 使用全域變數。

    修改SQL指令碼,在需要使用全域變數的位置填入${para1},即可引用該變數。

    在SQL指令碼-1的SQL編輯器中,SELECT語句末尾使用${para1}作為輸出資料行別名,FROM子句使用${t1}引用輸入源讀資料表-1。同時勾選是否由系統添加Create Table語句,此時最後一句必須為SELECT語句。

  4. 運行工作流程。

    運行結束後,右擊組件SQL指令碼,選擇查看資料 > SQL指令碼的輸出,可以看到列名status已改為ifHealth。

使用樣本2:DataWorks離線調度工作流程時使用全域變數

本樣本設定全域變數gDate,將定時調度的工作流程與日期關聯,然後在DataWorks上設定同名調度參數。

  1. 建立測試資料表。

    本樣本在MaxCompute控制台上建立一個名為dwtest的表(詳見下表)。具體操作請參見SQL參考。

    dwtest表包含四列:t1(數值,樣本值1.0、0.0、1.2、0.1)、t2(數值,樣本值1.1、1.0、0.0、0.1)、label(字串,樣本值A、B、C、D、E、F)、ds(日期分區,樣本值20190519、20190520),共10行測試資料。

  2. 建立工作流程並配置全域變數。

    1. 單擊畫布空白處,在介面右側建立全域變數gDate。

      變數值設定為20190520。

    2. 配置工作流程組件。

      image

      • 讀資料表:將表名配置為上一步建立的dwtest表。

      • SQL指令碼:在SQL指令碼中使用上一步配置的全域變數gDate。

        select * from ${t1} where ds=${gDate}
  3. 運行工作流程。

    運行結束後,右擊組件SQL指令碼,選擇查看資料 > SQL指令碼的輸出,可以看到按全域變數gDate查詢出的資料。

    查詢結果中,ds列的值為20190520,即全域變數gDate對應的分區日期值,說明全域變數已成功傳入。

  4. 單擊畫布左上方的周期性調度,再單擊建立調度節點。頁面跳轉到DataWorks後,在建立節點對話方塊填寫節點名稱,單擊確認。

  5. 選擇PAI Designer實驗,然後單擊頁面右側的調度配置。具體配置詳情請參見節點調度配置。

    本樣本配置如下,其餘保持預設配置:

    • 調度參數:新增同名調度參數gDate,值為$bizdate。

    • 時間屬性:重跑屬性配置為運行成功或失敗後皆可重跑。

    • 調度依賴:上遊節點使用工作空間根節點。

  6. 單擊工具列中的儲存和提交表徵圖,按介面提示儲存並提交節點。

  7. 單擊頁面上方的營運中心,查看機器學習任務的運行情況和動作記錄。

    您也可以執行補資料、工作流程試跑等操作。詳情請參見管理周期任務。

相關文檔