建立一致数据分析维表,可以降低数据计算口径和算法不统一风险。以维度作为建模驱动,基于每个维度的业务含义,通过定义维度及维度主键,添加维度属性、关联维度等定义计算逻辑和雪花模型,完成属性定义的过程并建立一致的数据分析维表。同时您可以定义维度主子关系,子维度的属性将合并至主维度使用,进一步保证维度的一致性和便捷使用性。

维度表设计原则

  • 尽可能生成丰富的维度属性。

    例如电商公司的商品维度可能有近百个维度属性,为下游的数据统计、分析、探查提供了良好的基础。

  • 尽可能多的给出包含一些富有意义的文字性描述。

    属性不应该是编码,而应该是真正的文字。在阿里巴巴维度建模中,通常是编码和文字同时存在,例如商品维度中的商品ID和商品标题、类目ID和类目名称等。ID通常用于不同表之间的关联,而名称通常用于报表标签。

  • 区分数值型属性和事实。

    数值型字段是作为事实还是维度属性,可以根据字段的常用用途区分。例如,若用于查询约束条件或分组统计,则是作为维度属性;若用于参与度量的计算,则是作为事实。

  • 尽量沉淀出通用的维度属性。
    • 通过逻辑处理得到维度属性。
    • 通过多表关联得到维度属性。
    • 通过单表的不同字段混合处理得到维度属性。
    • 通过对单表的某个字段进行解析得到维度属性。

维度表规范

提交普通维度或层级维度时,会自动生成对应的维度逻辑表,不支持用户自定义新建维度逻辑表。此外,Dataphin还支持定义枚举维度和虚拟维度。提交枚举维度和虚拟维度不会生成维度逻辑表。
说明
  • 枚举维度指的是维度表的值可枚举,以便规范统一枚举的维度值,维度作为派生指标统计粒度时,实现数据归一汇总计算。
  • 虚拟维度与某个字段关联后,以维度的形式作为统计粒度,定义派生指标。例如URL。
创建维度时,会自动生成维度逻辑表。基于Dataphin,维度表名称默认前缀为dim_,层级维度表默认增加后缀_lvl{n}。举例如下:
  • dim_c1(普通维度逻辑表)
  • dim_c1_lvl1(层级维度逻辑表)

创建维度及维度表

本节以普通维度表(dim_c2)为例,为您介绍如何基于Dataphin创建维度表。

  1. 登录Dataphin。
  2. 在Dataphin首页,单击顶部菜单栏的研发,进入研发页面。
  3. 选择开发 > 规范建模 > 维度,单击左侧功能区的新建文件按钮。
    创建维度表-1
  4. 新建维度页面,填写维度基本信息维度逻辑信息
    创建维度表-2
    说明
    • 支持通过编写SQL来定义维度的主键计算逻辑
      1. 单击主键计算逻辑后面的参考示例,可以查看SQL编写示例。
      2. SQL编写完成后,单击主键计算逻辑后面的规范性校验,可以校验您编写的SQL是否符合规范。
    • 维度定义详情请参见新建维度
  5. 维度信息填写完成后,单击页面右上方的保存提交按钮。
    创建维度表-2
  6. 维度定义完成后,会生成对应的维度逻辑表。生成的维度逻辑表名称与您定义的维度名称相同。您可以进入研发 > 开发 > 规范建模 > 维度逻辑表页面,搜索查找生成的维度逻辑表。
    创建维度表-4
说明 创建维度表的详情请参见开发维度模型

查询维度表

逻辑表运维包含两个模块,一个是逻辑表任务,用来从逻辑表视角切入,为用户展现逻辑表内部任务关系。另一个是逻辑表实例,用于查看已运行的逻辑表任务包含的节点实例及其状态。

  1. 在Dataphin首页,单击顶部菜单栏的研发 > 运维
  2. 单击左侧菜单栏中的逻辑表任务,进入逻辑表任务页面,如下图所示。
    维度-任务
  3. 在逻辑表任务页面:左侧功能区主要用于搜索和展示逻辑表及其内部物理节点,右侧DAG图展示区,默认展示当前逻辑表内包含的所有节点和内部节点间的依赖关系,并在左下角动态展示缩略图。
    说明 详细内容请参见逻辑表任务
  4. 单击左侧菜单栏中的逻辑表实例,进入逻辑表任务页面,如下图所示。
    维度-实例
  5. 在在逻辑表实例页面:左侧功能区主要用于搜索和展示逻辑表及其内部物理节点实例。右侧DAG图展示区,默认展示当前逻辑表包含的所有节点实例及其状态(如运行中、运行成功、运行失败),并在左下角动态展示缩略图。
    说明 详细内容请参见逻辑表实例