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