節點上下文用於支援參數在上遊節點和下遊節點之間傳遞,本文為您介紹如何定義、使用節點上下文中的輸入參數和輸出參數。
背景資訊
在上遊節點定義輸出參數及其取值後,在下遊節點定義輸入參數(取值引用上遊節點的輸出參數),即可在下遊節點中使用此參數擷取上遊節點傳遞過來的取值。
注意事項
節點上下文參數僅用於上遊節點的節點上下文輸出參數作為下遊節點的節點上下文輸入參數,無法直接將上遊節點的查詢結果傳遞到下遊,如果您需要將上遊節點的查詢結果傳遞到下遊節點,可以使用賦值節點,詳情可參見文檔:賦值節點。部分節點支援賦值參數的功能,賦值參數使用與賦值節點行為大體一致,您可以參考賦值節點使用文檔來進行賦值參數的配置,關於賦值參數的配置可參考下文。
配置節點上下文
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
在資料開發,面板雙擊開啟相應節點的編輯頁面。
單擊右側的調度配置,在節點上下文地區配置本節點輸入參數和本節點輸出參數。
各類型節點的調度參數配置,詳情請參見SQL類型節點及離線同步節點。
配置輸出參數
通用情境
您可以在節點上下文中定義本節點輸出參數,輸出參數的取值分為常量和變數兩種類型。
完成輸出參數的定義並提交當前節點後,即可在下遊節點中引用,作為下遊節點的輸入參數的取值。
不支援在當前節點編寫代碼的方式,對定義的輸出參數進行賦值。
欄位 | 含義 | 描述 |
編號 | 編號為系統控制,自動增加。 | 無 |
參數名 | 定義的輸出參數名稱。 | 無 |
類型 | 參數類型。 | 包括常量和變數。 |
取值 | 輸出參數的取值。 | 取實值型別包括常量和變數:
|
描述 | 參數的簡要描述。 | 無 |
來源 | 當前參數的來源。 | 包括系統預設添加、自動解析和手動添加。 |
操作 | 提供編輯和刪除兩種操作。 | 當存在下遊節點依賴時,不支援編輯和刪除。在下遊節點添加對上遊節點引用之前,請謹慎檢查,確保上遊輸出定義正確。 |
特殊情境:賦值參數
如果您需要將一個任務的查詢結果作為參數傳遞給下遊任務進行引用,請在上遊節點(該節點需支援使用賦值參數功能)的編輯頁面,單擊右側的調度配置。在該節點的
地區,單擊添加賦值參數,一鍵添加輸出的賦值參數。目前支援使用賦值參數的節點包括:EMR Hive、EMR Spark SQL、ODPS Script、Hologres SQL、AnalyticDB for PostgreSQL和MySQL等。
您需要購買DataWorks標準版及以上版本,才可以在上述支援賦值參數的節點中使用賦值參數功能。
您單擊添加賦值參數後,賦值參數會傳遞上遊節點生產的查詢結果。如果產生結果為空白,不會阻塞本節點運行,但下遊引用的節點可能會失敗。
下遊節點需要在輸入參數中添加上遊節點的賦值參數,在代碼中通過二維數組的方式引用。其使用方式和賦值語言為ODPS SQL的賦值節點一致,詳情請參見賦值節點。
配置輸入參數
節點的輸入參數可用於擷取其上遊節點的輸出參數,添加成功後可以在當前節點代碼中使用,使用方式與調度參數在代碼中的定義變數的方式一致。 當前節點設定依賴某個上遊節點後,當前節點才能在本節點輸入參數處將該上遊節點的輸出添加為當前節點的輸入參數。
設定上下遊依賴關係。
在調度依賴中添加依賴的上遊節點。
上遊節點配置輸出參數。
在節點上下文中,添加輸出參數定義。配置詳情請參見配置輸出參數。
下遊節點配置輸入參數。
在節點上下文中,添加輸入參數定義,取值選擇引用上遊節點的輸出參數。
欄位
含義
說明
編號
編號為系統控制,自動增加。
無
參數名
定義的輸入參數名稱。
無
取值來源
參數的取值來源,引用上遊節點取值。
取值是上遊節點輸出參數的具體取值。
描述
參數的簡要描述。
無
父節點ID
父節點ID。
自動從上遊節點解析得到。
來源
當前參數的來源。
包括系統預設添加、自動解析和手動添加。
操作
提供編輯和刪除兩種操作。
無
下遊節點使用輸入參數
在節點中使用定義的輸入參數的方法和其它系統變數一致,引用方式為${輸入參數名}
。下圖為在Shell節點中進行引用。
執行任務時,您需運行上下遊節點所在的商務程序,保證上下遊節點按順序執行。否則下遊節點使用的輸入參數無效。
系統支援的全域變數
系統變數
系統變數
說明
${projectId}
專案ID。
${projectName}
MaxCompute專案名。
${nodeId}
節點ID。
${gmtdate}
執行個體定時時間所在天的00:00:00,格式為yyyy-MM-dd 00:00:00。
${taskId}
任務執行個體ID。
${seq}
任務執行個體序號,代表該執行個體在當天同節點執行個體中的序號。
${cyctime}
執行個體定時時間。
${status}
執行個體的狀態:成功(SUCCESS)、失敗(FAILURE)。
${bizdate}
業務日期。
${finishTime}
執行個體結束時間。
${taskType}
執行個體運行類型:正常(NORMAL)、手動(MANUAL)、暫停(PAUSE)、空跑(SKIP)、未選擇(UNCHOOSE)、周月空跑(SKIP_CYCLE)。
${nodeName}
節點名稱。
其它參數設定請參見調度參數支援的格式。