組件用於將SQL過程抽象為一個SQL模板,實現SQL代碼的複用。使用組件前,您需先根據業務需要建立符合業務加工過程的組件。本文為您介紹在資料開發(Data Studio)的組件管理介面,如何建立組件,並進行組件的分享、升級、查看組件引用記錄等管理操作。
組件介紹
在MaxCompute實際業務實踐中,存在大量類似的SQL代碼過程,過程中輸入表和輸出表的結構一致或結構類型相容,僅名稱不同。此時,組件的開發人員可將該SQL過程抽象為一個SQL元件節點,將可變的輸入表抽象為輸入參數,可變的輸出表抽象為輸出參數,實現SQL代碼的複用。
後續在使用SQL元件節點時,只需從程式碼群組件列表中選擇和自己的業務處理過程類似的組件,並為該組件配置自己業務中特定的輸入表和輸出表,無需再次編輯代碼,便可直接產生新的SQL元件節點,極大提升了開發效率,避免重複開發。SQL元件節點產生後的發布、調度操作,與普通SQL節點的操作方式相同。
當前僅MaxCompute計算引擎支援使用SQL組件。
適用範圍
版本限制:僅支援DataWorks標準版及以上版本。
許可權限制:具備DataWorks工作空間的開發許可權,才可建立並使用組件。授權詳情請參見空間級模組許可權管控。
組件類型
組件分為專案組件及公用組件,組件開發人員(即建立組件的使用者)在建立組件時可自行定義。
專案組件管理:組件發布後,預設僅該DataWorks工作空間的使用者可使用。若您希望使用該類組件,則需成為此工作空間的成員,詳情請參見空間級模組許可權管控。
公用組件管理:組件的開發人員可進入公用組件管理地區,將具有全域通用性的組件發布到整個租戶內,發布後,租戶內所有使用者均可使用該公用組件。
進入組件管理
進入DataWorks工作空間列表頁,在頂部切換至目標地區,找到目標工作空間,單擊操作列的,進入Data Studio。
在左側導覽列單擊
,進入組件管理。
組件使用流程
步驟一:定義組件
組件開發人員可通過資料開發(Data Studio)的組件管理介面,定義通用邏輯的過程體代碼及輸入輸出參數,通過編寫抽象的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元件節點中引用
組件使用者可以在資料開發介面,通過建立SQL元件節點引用所需組件,替換組件中的輸入與輸出參數,實現代碼複用。
在Data Studio左側導覽列單擊
,進入資料開發。在專案目錄中根據業務需要,規劃建立SQL元件節點的位置後,右鍵目錄或單擊
,選擇,自訂SQL元件節點名稱。在SQL元件節點編輯頁面,單擊右側組件設定,然後選擇組件代碼。
選擇組件代碼後,組件代碼將自動填滿到SQL組件編輯頁,您可以在組件設定中,定義各參數取值。
從專案組件管理中引用
組件使用者可以在組件管理介面,找到待引用的組件,然後通過直接引用建立SQL元件節點,替換組件中的輸入與輸出參數,實現代碼複用。
在Data Studio左側導覽列單擊
,進入組件管理。在專案組件管理中找到目標組件後右鍵,選擇引用組件。
根據頁面引導,選擇SQL元件節點建立的位置以及SQL組件的名稱。
建立成功後,組件代碼將自動填滿到SQL組件編輯頁,您可以在組件設定中,定義各參數取值。
從公用組件管理中引用
組件使用者可以在組件管理介面,找到其他租戶公開的組件,然後通過直接引用建立SQL元件節點,替換組件中的輸入與輸出參數,實現代碼複用。
在Data Studio左側導覽列單擊
,進入組件管理。在公用組件管理中找到目標組件後,單擊引用。
根據頁面引導,選擇SQL元件節點建立的位置以及SQL組件的名稱。
建立成功後,組件代碼將自動填滿到SQL組件編輯頁,您可以在組件設定中,定義各參數取值。
升級組件
升級操作:組件開發人員
組件開發人員可根據需要編輯組件代碼及相關參數配置,編輯完成後儲存提交即可升級為新版本組件,您可在版本處查看組件各個版本的詳情。
引用組件版本升級:組件使用者
組件升級後,若您的SQL元件節點引用了該組件,則引用時可選擇是否使用該組件已升級的最新版本。
若無需使用,則繼續引用原有版本。
若使用,需確認新版本組件對於SQL元件節點的參數配置是否繼續生效,並根據新版本組件的說明進行相關調整,編輯完成後進行提交發布。提交發布流程同普通SQL節點。
升級情境樣本
組件開發人員建立了V1版本的SQL組件,組件使用者使用了該V1版本組件。隨後,組件開發人員將組件升級為V2版本。組件使用者在使用過程中發現該組件已存在最新版本V2,開啟組件,查看不同版本詳情,對比後發現新版本組件業務效果更好,然後更新升級到最新的組件版本使用。
查看組件引用記錄
您可以在組件編輯頁右側單擊引用記錄,查看哪些節點引用了當前組件,用於組件變更時提前預估影響。
其他動作
複製組件
您可通過複製功能,快速複製現有組件以建立新的組件。複製內容包括組件代碼、參數設定和調試配置的指令碼參數。
在左側專案組件管理中,按右鍵需要複製的組件名稱,在快顯功能表中選擇複製。
在彈窗中修改組件名稱和路徑(或保留預設值),單擊確認開始複製。
複製完成後,您可以在專案組件管理中查看新產生的組件。
版本管理
系統支援通過版本管理功能將組件還原到指定的歷史版本,同時還提供版本查看與對比功能,方便您分析差異並作出調整。
在左側專案組件管理中,雙擊需要查看並進行版本管理的組件名稱,進入組件編輯頁。
單擊組件編輯頁右側的版本,在版本頁面查看和管理開發記錄及發布記錄資訊。
查看版本:
您可以在開發記錄或發布記錄頁簽中,找到需要查看的組件版本。
單擊操作欄中的查看,進入詳情頁查看組件代碼內容以及調度配置資訊。
對比版本:
您可以在開發記錄或發布記錄頁簽中,對不同版本的組件進行對比。下面以開發記錄為例,為您示範對比操作。
開發或發布環境對比:在開發記錄頁簽中,勾選兩個版本,單擊上方的選擇對比按鈕,即可對比不同版本的組件代碼內容和調度配置資訊。
開發與發布環境對比:
在開發記錄頁簽中,定位到組件的某個版本。
單擊操作欄中的對比按鈕,在詳情頁中選擇與發布記錄中的某個版本進行對比。
還原版本:
僅支援將開發記錄中的組件還原到指定的歷史版本。您可在開發記錄頁簽中找到目標版本,單擊操作欄中的還原按鈕,即可將該組件資訊還原至目標版本。