維度層(DIM)
本文為您介紹維度層的設(shè)計原則、維度表的規(guī)范、創(chuàng)建維度及查詢維度邏輯表。
維度層簡介
建立一致數(shù)據(jù)分析維表,可以降低數(shù)據(jù)計算口徑和算法不統(tǒng)一風(fēng)險。以維度作為建模驅(qū)動,基于每個維度的業(yè)務(wù)含義,通過定義維度及維度主鍵,添加維度屬性、關(guān)聯(lián)維度等定義計算邏輯和雪花模型,完成屬性定義的過程并建立一致的數(shù)據(jù)分析維表。同時您可以定義維度主子關(guān)系,子維度的屬性將合并至主維度使用,進(jìn)一步保證維度的一致性和便捷使用性。
維度表設(shè)計原則
盡可能生成豐富的維度屬性。
例如,電商公司的商品維度可能有近百個維度屬性,為下游的數(shù)據(jù)統(tǒng)計、分析、探查提供了良好的基礎(chǔ)。
盡可能多的給出包含一些富有意義的文字性描述。
屬性不應(yīng)該是編碼,而應(yīng)該是真正的文字。在阿里巴巴維度建模中,通常是編碼和文字同時存在,例如商品維度中的商品ID和商品標(biāo)題、類目ID和類目名稱等。ID通常用于不同表之間的關(guān)聯(lián),而名稱通常用于報表標(biāo)簽。
區(qū)分?jǐn)?shù)值型屬性和事實(shí)。
數(shù)值型字段是作為事實(shí)還是維度屬性,可以根據(jù)字段的常用用途區(qū)分。例如,若用于查詢約束條件或分組統(tǒng)計,則是作為維度屬性;若用于參與度量的計算,則是作為事實(shí)。
盡量沉淀出通用的維度屬性。
通過邏輯處理得到維度屬性。
通過多表關(guān)聯(lián)得到維度屬性。
通過單表的不同字段混合處理得到維度屬性。
通過對單表的某個字段進(jìn)行解析得到維度屬性。
維度表規(guī)范
提交普通維度或?qū)蛹壘S度時,會自動生成對應(yīng)的維度邏輯表,不支持用戶自定義新建維度邏輯表。此外,Dataphin還支持定義枚舉維度和虛擬維度。提交枚舉維度和虛擬維度不會生成維度邏輯表。
枚舉維度指的是維度表的值可枚舉,以便規(guī)范統(tǒng)一枚舉的維度值,維度作為派生指標(biāo)統(tǒng)計粒度時,實(shí)現(xiàn)數(shù)據(jù)歸一匯總計算。
虛擬維度與某個字段關(guān)聯(lián)后,以維度的形式作為統(tǒng)計粒度,定義派生指標(biāo)。例如URL。
創(chuàng)建維度時,會自動生成維度邏輯表。基于Dataphin,維度表名稱默認(rèn)前綴為dim_
,層級維度表默認(rèn)增加后綴_lvl{n}
。舉例如下:
dim_c1(普通維度邏輯表)。
dim_c1_lvl1(層級維度邏輯表)。