組件用於將SQL過程抽象為一個SQL模板,實現SQL代碼的複用。使用組件前,您需先根據業務需要建立符合業務加工過程的組件。本文為您介紹在資料開發(DataStudio)的組件管理介面,如何建立組件,並進行組件的分享、升級、查看組件引用記錄等管理操作。
進入組件管理頁面
進入資料開發頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
在左側導覽列單擊組件管理,進入組件管理頁面。
說明若左側導覽列不存在組件管理,則可單擊左下角的表徵圖,根據模組管理自行添加。
建立並配置組件
以下為您介紹組件開發人員如何通過組件管理新群組件,將指定的SQL過程抽象為一個SQL模板。一個組件通常由過程體、輸入參數、輸出參數組成。過程體用於定義組件功能的實現代碼,在過程體中,通過@@{變數名}
格式,將可變的輸入表或輸入字串抽象為組件的輸入參數,將可變的輸出表抽象為組件的輸出參數,實現SQL代碼的複用。
一個組件可配置多個輸入參數和輸出參數,具體請根據實際使用進行配置。
建立組件。
在組件管理頁面,您可通過如下方式建立組件並輸入組件名稱。
說明本工作空間成員建立的組件在組件下。
租戶成員建立的組件在公用組件下。
配置組件資訊。
步驟一:配置過程體
過程體即為組件的實現代碼。通過編寫抽象的SQL代碼(即SQL加工過程),使用
@@{參數名}
格式,引入輸入參數和輸出參數,將指定的輸入表通過輸入參數進行加工處理,產生有業務價值的輸出表。後續使用組件時,只需配置不同的輸入參數和輸出參數,便可通過該代碼模板產生正確可啟動並執行SQL代碼。步驟二:配置輸入參數
定義過程體的輸入參數,支援Table和String類型,即過程體的輸入參數為某表或某字串,具體如下。
Table:若使用組件加工源表資料時,輸出結果類別單一恒定,則請使用該類型。
該類型的主要配置說明如下。
配置項
描述
配置樣本
參數定義
用於將輸入表的結構進行文本化呈現,其中可包含表的欄位、欄位類型及欄位含義等內容。通過該形式,告知組件使用者,在使用組件時需為輸入參數配置與輸入表結構參數個數相同,類型相容的輸入表。防止配置的輸入表和組件定義的輸入表欄位個數不一致、欄位類型不相容,導致組件運行時出錯。
說明該定義僅為參考,為您提供輸出參數配置的協助指示,並不會即時強制檢查。
參數定義的格式建議為:
欄位1名 欄位1類型 欄位1注釋 欄位2名 欄位2類型 欄位2注釋 …… 欄位n名 欄位n類型 欄位n注釋
樣本如下:
area_id string ‘地區id’ city_id string ‘城市id’ order_amt double ‘訂單金額’
String:若使用組件加工源表資料時,需通過變數控制輸入參數的取值,則請使用該類型。
該類型的主要配置說明如下。
配置相關
描述
預設值
該類型支援設定參數預設值,設定後,組件使用過程中預設使用所配置的參數預設值。
情境樣本
情境一:組件過程的輸出表需輸出每個地區前N個城市的銷售額,則可設定N為該組件的輸入參數,N的取值可通過字串型別參數進行控制。
情境二:組件過程的輸出表需輸出省份的銷售總額,可設定一個省份字串參數作為該組件的輸入參數,通過指定不同的省份,擷取相應省份的銷售資料。
步驟三:配置輸出參數
定義過程體的輸出參數,即組件最終產出表。為便於組件使用者使用組件,您可在輸出參數配置中,填寫使用該組件後輸出表的表結構,供組件使用者參考。
輸出參數的主要配置說明如下。
配置項
描述
配置樣本
參數定義
用於將輸出表的結構進行文本化呈現,其中可包含表的欄位、欄位類型及欄位含義等內容。通過該形式,告知組件使用者,在使用組件時需為輸出參數配置與輸出表結構參數個數相同,類型相容的輸出表。防止配置的輸出表和組件定義的輸出表欄位個數不一致、欄位類型不相容,導致組件運行時出錯。
說明該定義僅為參考,為您提供輸出參數配置的協助指示,並不會即時強制檢查。
參數定義的格式建議為:
欄位1名 欄位1類型 欄位1注釋 欄位2名 欄位2類型 欄位2注釋 …… 欄位n名 欄位n類型 欄位n注釋
除此之外,輸出參數定義還可根據您所需的處理結果,添加匯總輸出結果欄位。例如,排名、總收入等。
樣本如下:
area_id string ‘地區id’ city_id string ‘城市id’ order_amt double ‘訂單金額’ rank bigint ‘排名’
儲存並提交組件。
單擊表徵圖,儲存組件;單擊表徵圖,提交組件。組件建立完成後,可在SQL元件節點中引用,協助您快速產生業務所需的目標表。使用詳情請參見引用SQL組件。
分享及查看組件的引用記錄
您可根據業務需要分享組件或查看組件的引用記錄。
分享組件(序號1):組件發布後,預設為專案組件,即僅支援當前DataWorks工作空間的使用者可使用該組件。組件開發人員可通過分享組件,將具有全域通用性的組件發布到整個租戶內,分享組件並發布後,租戶內所有使用者均可使用該組件。
查看組件的引用記錄(序號2):可查看哪些節點引用了當前組件,用於進行組件變更時提前預估影響。
升級組件
升級操作:組件開發人員
組件開發人員可根據需要編輯組件代碼及相關參數配置,編輯完成後儲存提交即可升級為新版本組件,您可在地區3可查看組件各個版本的詳情。
組件版本的使用影響:組件使用者
組件升級後,若您的SQL元件節點引用了該組件,則引用時可選擇是否使用該組件已升級的最新版本。若無需使用,則繼續引用原有版本;若使用,需確認新版本組件對於SQL元件節點的參數配置是否繼續生效,並根據新版本組件的說明進行相關調整,編輯完成後進行提交發布。提交發布流程同普通SQL節點。
升級情境樣本
組件開發人員使用者C建立了V1.0版本組件,使用者A使用了該V1.0版本組件;隨後,使用者C將組件升級為V2.0版本。使用者A在使用過程中發現該組件已存在最新版本V2.0,則可開啟組件,查看不同版本詳情,對比後發現新版本組件業務效果更好,則可更新升級到最新的組件版本使用。
後續
組件建立、分享完成後,具有組件使用許可權的使用者可通過建立SQL元件節點引用組件,詳情請參見引用SQL組件。