全部產品
Search
文件中心

DataWorks:定義SQL組件

更新時間:Jun 19, 2024

組件用於將SQL過程抽象為一個SQL模板,實現SQL代碼的複用。使用組件前,您需先根據業務需要建立符合業務加工過程的組件。本文為您介紹在資料開發(DataStudio)的組件管理介面,如何建立組件,並進行組件的分享、升級、查看組件引用記錄等管理操作。

進入組件管理頁面

  1. 進入資料開發頁面。

    登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的資料建模與開發 > 資料開發,在下拉框中選擇對應工作空間後單擊進入資料開發

  2. 在左側導覽列單擊組件管理,進入組件管理頁面。

    說明

    若左側導覽列不存在組件管理,則可單擊左下角的設定表徵圖,根據模組管理自行添加。

建立並配置組件

以下為您介紹組件開發人員如何通過組件管理新群組件,將指定的SQL過程抽象為一個SQL模板。一個組件通常由過程體、輸入參數、輸出參數組成。過程體用於定義組件功能的實現代碼,在過程體中,通過@@{變數名}格式,將可變的輸入表或輸入字串抽象為組件的輸入參數,將可變的輸出表抽象為組件的輸出參數,實現SQL代碼的複用。

說明

一個組件可配置多個輸入參數和輸出參數,具體請根據實際使用進行配置。

過程體

  1. 建立組件。

    在組件管理頁面,您可通過如下方式建立組件並輸入組件名稱。建立組件

    說明
    • 本工作空間成員建立的組件在組件下。

    • 租戶成員建立的組件在公用組件下。

  2. 配置組件資訊。

    步驟一:配置過程體

    過程體即為組件的實現代碼。通過編寫抽象的SQL代碼(即SQL加工過程),使用@@{參數名}格式,引入輸入參數和輸出參數,將指定的輸入表通過輸入參數進行加工處理,產生有業務價值的輸出表。後續使用組件時,只需配置不同的輸入參數和輸出參數,便可通過該代碼模板產生正確可啟動並執行SQL代碼。

    步驟二:配置輸入參數

    定義過程體的輸入參數,支援TableString類型,即過程體的輸入參數為某表或某字串,具體如下。

    • 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 ‘排名’
  3. 儲存並提交組件。

    單擊儲存表徵圖,儲存組件;單擊提交表徵圖,提交組件。組件建立完成後,可在SQL元件節點中引用,協助您快速產生業務所需的目標表。使用詳情請參見引用SQL組件

分享及查看組件的引用記錄

您可根據業務需要分享組件或查看組件的引用記錄。分享及查看引用記錄

  • 分享組件(序號1):組件發布後,預設為專案組件,即僅支援當前DataWorks工作空間的使用者可使用該組件。組件開發人員可通過分享組件,將具有全域通用性的組件發布到整個租戶內,分享組件並發布後,租戶內所有使用者均可使用該組件。

  • 查看組件的引用記錄(序號2):可查看哪些節點引用了當前組件,用於進行組件變更時提前預估影響。

升級組件

升級操作:組件開發人員

組件開發人員可根據需要編輯組件代碼及相關參數配置,編輯完成後儲存提交即可升級為新版本組件,您可在地區3可查看組件各個版本的詳情。組件升級

組件版本的使用影響:組件使用者

組件升級後,若您的SQL元件節點引用了該組件,則引用時可選擇是否使用該組件已升級的最新版本。若無需使用,則繼續引用原有版本;若使用,需確認新版本組件對於SQL元件節點的參數配置是否繼續生效,並根據新版本組件的說明進行相關調整,編輯完成後進行提交發布。提交發布流程同普通SQL節點。image.png

升級情境樣本

組件開發人員使用者C建立了V1.0版本組件,使用者A使用了該V1.0版本組件;隨後,使用者C將組件升級為V2.0版本。使用者A在使用過程中發現該組件已存在最新版本V2.0,則可開啟組件,查看不同版本詳情,對比後發現新版本組件業務效果更好,則可更新升級到最新的組件版本使用。

後續

組件建立、分享完成後,具有組件使用許可權的使用者可通過建立SQL元件節點引用組件,詳情請參見引用SQL組件