创建逻辑模型:明细表

明细表用于存储大量能够体现业务活动状况的实际数据或详细数值,是数据聚合后依据某个维度生成的结果表。例如,分析产品销售情况,您可以创建销售明细表,用来存储产品维度(作为外键)、时间维度(作为外键)以及销售总量。本文为您介绍如何创建明细表。

前提条件

  • 已创建数仓分层。数仓分层是将不同功能作用的表挂载至统一的数据层,方便您查找使用。明细表通常挂载于数据明细层(DWD层),您也可以根据业务需求,选择将明细表挂载至其他数据层。创建数据分层,详情请参见创建数仓分层

  • 已创建业务过程,用来确定明细表需要存储哪类具体业务活动的数据。创建业务过程,详情请参见业务过程

背景信息

结合业务过程的规划,梳理分析各业务过程中可能产生的实际数据,将这些实际数据字段通过明细表的方式存储下来。例如下订单这一业务过程中,您可以创建下订单这一明细表,用于记录下单过程可能产生实际数据字段,例如订单ID、订单创建时间、商品ID、数量、金额等。后续您可将这些明细表部署到数仓中,通过ETL将真实的数据按照明细表的定义方式进行汇总存储,便于业务分析时取用。

事实表如上图所示:

  • 创明细表时:

    • 可以关联本明细表是用于分析哪个业务分类和业务过程,便于后续直接查看具体某一业务分类或业务过程下,有哪些明细表。

    • 可以指定明细表后续在数据建模分析使用时,明细表的数据存储于数仓中的哪个数据分层,一般情况下明细表可存储于数据明细层(DWD层)。

  • 明细表创建后,您可以为明细表添加字段,且可以对明细表进行关联和分区的设置,并且可使用统一的数据标准来进行字段设置,保障全数据域中的数据的属性是一致的。

  • 明细表创建配置完成后,可发布物化至计算引擎,后续在计算引擎中使用明细表进行数据分析。

创建明细表

  1. 进入智能数据建模页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据建模,在下拉框中选择对应工作空间后单击进入数据建模

  2. 智能数据建模页面的顶部菜单栏,单击维度建模,进入维度建模页面。

  3. 创建明细表。

    1. 维度建模页面,鼠标悬停至加号图标,单击逻辑模型 > 创建明细表

    2. 配置明细表的基本信息。

      事实表

      参数项

      描述

      数仓分层

      选择已创建的数仓分层,仅支持选择公共层的明细数据层。后续使用此明细表时,明细表中的数据即存储在数仓的这一层中。详情请参见创建数仓分层

      业务过程

      已创建完成的业务过程,详情请参见业务过程

      业务分类

      已创建的业务分类,详情请参见业务分类

      存储策略

      明细表存储数据的策略,可以选择每日增量每日全量等多种策略。

      表名规则

      选择已配置的检查器。用于检测表名称是否符合该检查器制定的表命名规则。配置检查器,详情请参见配置及使用数仓分层检查器

      表名

      表的内部名称。若配置了表名检查器,则表的名称需按照检查器规则配置。

      表中文名

      表的中文显示名称。

      生命周期

      明细表存在的时间周期。最大可保存36000天。

      负责人

      当前明细表的责任人。默认为创建明细表的用户。

      描述

      明细表的描述信息。

  4. 配置完成后,单击保存,保存成功后,可在左侧目录树进行查看。

添加表字段

模型创建成功后,您需要为模型添加表字段。

说明

您也可以通过FML语句创建字段、关联关系及分区,操作方法请参见代码模式建模

您可以通过快捷模式代码模式为表添加字段,其中快捷模式支持从表/视图导入,即从计算引擎已存在的物理表或视图导入字段,即在查找已有表/视图下拉列表搜索并选择已存在的物理表或视图进行字段导入。

说明

当前仅支持从MaxCompute、Hologres、EMR Hive引擎的表或视图导入。

快捷模式从表/视图导入

从表导入

  1. 单击快捷模式下,从表/视图导入后的展开

  2. 查找已有表/视图的输入框中输入相应名称,即可选择对应的表或视图,并在已引用的表后选择导入表或视图的全部字段或部分字段。

    说明
    • 输入名称时支持模糊匹配,即输入关键字便可搜索到所有名称中包含关键字的表或视图。

    • 仅支持搜索生产环境的表,不支持搜索开发环境的表。

    • 导入全部字段图标表示导入全部字段。

    • 部分字段图标表示导入部分字段。

  3. 当选择导入部分字段时,在弹出的窗口中,会为您展示所选表的字段,您可选择需要添加至模型的字段,完成后单击界面下方的导入

    说明

    如果已导入字段中存在字段显示名为空的字段,您可根据界面提示将字段描述填充为字段显示名。

代码模式

代码模式为您提供代码输入的操作方式,单击代码模式后,弹窗中会根据已配置的模型信息自动生成建模语言,您可以在此基础上修改模型信息,完成后单击下方的确定代码模式

设置表字段信息

完成上述操作后,模型所需字段即已被添加至该模型中,此时您可以根据业务需求设置模型各字段的关联字段冗余字段关联粒度/指标

  1. 设置字段属性。

    字段属性默认展示字段名称类型字段显示名描述主键非空度量单位操作等基础属性。您可以在展示已添加字段的右上方单击字段显示设置,选择需要展示出来的字段属性,并根据需要进行修改。

  2. 设置字段的关联字段标准关联标准代码

    用于为已添加的字段选择关联的字段标准和标准代码,规范字段的取值内容及范围。

    • 关联字段标准:统一规范管理含义相同但字段名称不同的数据,定义字段的取值范围、度量单位等内容。

    • 关联标准代码:设置某一字段标准可选择数据的内容以及范围。

  3. 设置字段的冗余字段

    在已添加字段的操作列,单击冗余字段,即可设置字段的关联字段。

    传统维度建模星型模型中,维度存储在维度表中,通过事实表的外键获取维度,目的是为了减少存储消耗。而在维度模型设计中,为了提高下游的查询效率,降低数据获取的复杂性,减少关联表的数量,通常事实表中会冗余常用的维度。例如,“订单创建明细表”冗余了“收货地址维度表”中的“收货地址”维度,包含“收货人地址、收货人手机号”等维度属性。

    冗余字段

  4. 完成设置后单击左上角的保存

后续步骤

维度表创建完成后,您仍需为表配置字段管理、关联关系、分区设置等内容,并将该表发布至对应环境,详情请参见发布模型至引擎