維度是維度建模的基礎和靈魂。在維度建模中,將度量稱為”事實“,將環境描述為”維度“。維度表包含了事實表中指定屬性的相關詳細信息,常用的維度如日期維度、城市維度等。本文為您介紹如何創建維度表。
前提條件
公共層主要完成公共數據的加工與整合,建立整體統一的維度表。應用層基于實際應用需求,獲取公共層加工整合后的數據,面向具體業務建立業務層面的維度表,進行持續的個性化數據建設及改造。您可根據需求選擇創建公共層或應用層維度表,不同數倉分層創建維度表的準備工作如下表。
數倉分層 | 準備事項 | 參考鏈接 |
公共層 | 已在公共層創建數倉分層。用于確定維度表所屬的層級。 | |
已創建數據域,用于確定維度表所統計的業務數據視角。 | ||
應用層 | 已在應用層創建數倉分層。用于確定維度表所屬的層級。 | |
已創建數據集市,用于確定維度表所統計的特定應用場景或產品的數據類別。 |
背景信息
結合業務的數據域的規劃,提取出各業務數據域中進行數據分析時可能存在的維度,并將維度及其屬性通過維度表的方式存儲下來。例如,在進行電商業務數據分析時,可用的維度及其屬性有:訂單維度(屬性包括訂單ID、訂單創建時間、買家ID、賣家ID等)、用戶維度(性別、出生日期等)、商品維度(包括商品ID、商品名稱、商品上架時間)等,此時您就可以將這些維度和屬性創建為訂單維度表、用戶維度表、商品維度表等,將維度屬性記錄作為維度表的字段。后續您可將這些維度表部署到數倉中,通過ETL將實際維度數據按照維度表定義的方式進行存儲,方便業務人員在后續的數據分析時進行取用。
如上圖所示:
創建維度表時:
可以關聯本維度表是用于分析哪個業務分類、哪個數據域,便于后續直接查看具體某一數據域或數據集市下,有哪些維度表。
可以指定維度表后續在數據建模分析使用時,維度表的數據存儲于數倉中的哪個數據分層,一般情況下維度表可存儲于公共維度層(DIM層)。
維度表創建后,您可以將維度的屬性添加為維度表的字段,并對維度表進行關聯和分區的設置,使用統一的數據標準來進行字段設置,保障全數據域中的維度數據的屬性是一致的。
維度表配置完成后:
可物化至存儲引擎,后續在計算引擎中使用維度表進行數據分析。
在進行數據派生指標和匯總表的設計創建時,可直接關聯使用維度表中的維度。
創建維度表
進入智能數據建模頁面。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入數據建模。
在智能數據建模頁面的頂部菜單欄,單擊維度建模,進入維度建模頁面。
創建維度表。
在維度建模頁面,鼠標懸停至圖標,單擊 。
配置維度表的基本信息。
您可根據需求,選擇維度表所掛載的層級、數據域、業務分類、數據集市等信息,選擇后,后續可進入相應對象的列表查看所創建的維度表。本文以創建公共層維度表示例。主要參數說明如下。
參數項
描述
數據域
維度表所屬的數據域。
業務分類
維度表所屬的業務分類。
存儲策略
維度表基于什么策略(即存儲數據的時間周期及數據量范圍)存儲數據。
維度
維度表關聯的維度,用于配置維度表分析數據的視角。
說明創建維度,詳情請參見創建概念模型:維度。
表名規則
通過已配置的檢查器規范維度表的命名規則。選擇檢查器后,該維度表的表名需按照檢查器定義的規則配置。
說明配置檢查器,詳情請參見配置及使用數倉分層檢查器。
表名
維度表的名稱。若您配置了表名規則,則維度表的表名需遵循規則要求。
表中文名
維度表的顯示名稱。
生命周期
維度表保留的時間周期。最大可保留36000天。
負責人
當前維度表的責任人。默認為創建維度表的用戶。
描述
維度表的描述信息。
配置完成后,單擊保存,維度表創建成功。
在維度建模左側目錄樹相應的數據域或業務分類下,可查找并統一管理維度表。
添加表字段
模型創建成功后,您需要為模型添加表字段。
您也可以通過FML語句創建字段、關聯關系及分區,操作方法請參見代碼模式建模。
您可以通過快捷模式或代碼模式為表添加字段,其中快捷模式支持從表/視圖導入,即從計算引擎已存在的物理表或視圖導入字段,即在查找已有表/視圖下拉列表搜索并選擇已存在的物理表或視圖進行字段導入。
當前僅支持從MaxCompute、Hologres、EMR Hive引擎的表或視圖導入。
快捷模式:從表/視圖導入
單擊快捷模式下,從表/視圖導入后的展開。
在查找已有表/視圖的輸入框中輸入相應名稱,即可選擇對應的表或視圖,并在已引用的表后選擇導入表或視圖的全部字段或部分字段。
說明輸入名稱時支持模糊匹配,即輸入關鍵字便可搜索到所有名稱中包含關鍵字的表或視圖。
僅支持搜索生產環境的表,不支持搜索開發環境的表。
圖標表示導入全部字段。
圖標表示導入部分字段。
當選擇導入部分字段時,在彈出的窗口中,會為您展示所選表的字段,您可選擇需要添加至模型的字段,完成后單擊界面下方的導入。
說明如果已導入字段中存在字段顯示名為空的字段,您可根據界面提示將字段描述填充為字段顯示名。
代碼模式
代碼模式為您提供代碼輸入的操作方式,單擊代碼模式后,彈窗中會根據已配置的模型信息自動生成建模語言,您可以在此基礎上修改模型信息,完成后單擊下方的確定。
設置表字段信息
完成上述操作后,模型所需字段即已被添加至該模型中,此時您可以根據業務需求設置模型各字段的關聯字段、冗余字段、關聯粒度/指標。
設置字段屬性。
字段屬性默認展示字段名稱、類型、字段顯示名、描述、主鍵、非空、度量單位、操作等基礎屬性。您可以在展示已添加字段的右上方單擊字段顯示設置,選擇需要展示出來的字段屬性,并根據需要進行修改。
設置字段的關聯字段標準、關聯標準代碼。
用于為已添加的字段選擇關聯的字段標準和標準代碼,規范字段的取值內容及范圍。
關聯字段標準:統一規范管理含義相同但字段名稱不同的數據,定義字段的取值范圍、度量單位等內容。
關聯標準代碼:設置某一字段標準可選擇數據的內容以及范圍。
設置字段的冗余字段。
傳統維度建模星型模型中,維度存儲在維度表中,通過事實表的外鍵獲取維度,目的是為了減少存儲消耗。而在DataWorks智能建模的維度模型設計中,為了提高下游的查詢效率,降低獲取數據的復雜性,減少關聯表的數量,通常可將一些高頻使用的字段作為冗余字段(例如,用戶ID、常用的分析維度)。
示例一:“訂單創建明細表”可冗余“收貨地址維度表”中的“收貨地址”維度,包含“收貨人地址、收貨人手機號”等維度屬性。
示例二:“商品維度表”可冗余“商品信息表”中的“采購信息、品牌信息”等屬性。
在已添加字段的操作列,單擊冗余字段,即可設置字段的關聯字段。
完成設置后單擊左上角的保存。
后續步驟
維度表創建完成后,您仍需為表配置字段管理、關聯關系、分區設置等內容,并將該表發布至對應環境,詳情請參見發布模型至引擎。