本文为您介绍维度层的设计原则、维度表的规范、创建维度及查询维度逻辑表。
维度层简介
建立一致数据分析维表,可以降低数据计算口径和算法不统一风险。以维度作为建模驱动,基于每个维度的业务含义,通过定义维度及维度主键,添加维度属性、关联维度等定义计算逻辑和雪花模型,完成属性定义的过程并建立一致的数据分析维表。同时您可以定义维度主子关系,子维度的属性将合并至主维度使用,进一步保证维度的一致性和便捷使用性。
维度表设计原则
尽可能生成丰富的维度属性。
例如,电商公司的商品维度可能有近百个维度属性,为下游的数据统计、分析、探查提供了良好的基础。
尽可能多的给出包含一些富有意义的文字性描述。
属性不应该是编码,而应该是真正的文字。在阿里巴巴维度建模中,通常是编码和文字同时存在,例如商品维度中的商品ID和商品标题、类目ID和类目名称等。ID通常用于不同表之间的关联,而名称通常用于报表标签。
区分数值型属性和事实。
数值型字段是作为事实还是维度属性,可以根据字段的常用用途区分。例如,若用于查询约束条件或分组统计,则是作为维度属性;若用于参与度量的计算,则是作为事实。
尽量沉淀出通用的维度属性。
通过逻辑处理得到维度属性。
通过多表关联得到维度属性。
通过单表的不同字段混合处理得到维度属性。
通过对单表的某个字段进行解析得到维度属性。
维度表规范
提交普通维度或层级维度时,会自动生成对应的维度逻辑表,不支持用户自定义新建维度逻辑表。此外,Dataphin还支持定义枚举维度和虚拟维度。提交枚举维度和虚拟维度不会生成维度逻辑表。
枚举维度指的是维度表的值可枚举,以便规范统一枚举的维度值,维度作为派生指标统计粒度时,实现数据归一汇总计算。
虚拟维度与某个字段关联后,以维度的形式作为统计粒度,定义派生指标。例如URL。
创建维度时,会自动生成维度逻辑表。基于Dataphin,维度表名称默认前缀为dim_
,层级维度表默认增加后缀_lvl{n}
。举例如下:
dim_c1(普通维度逻辑表)。
dim_c1_lvl1(层级维度逻辑表)。