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