明细表用于存储大量能够体现业务活动状况的实际数据或详细数值,是数据聚合后依据某个维度生成的结果表。例如,分析产品销售情况,您可以创建销售明细表,用来存储产品维度(作为外键)、时间维度(作为外键)以及销售总量。本文为您介绍如何创建明细表。
前提条件
背景信息
结合业务过程的规划,梳理分析各业务过程中可能产生的实际数据,将这些实际数据字段通过明细表的方式存储下来。例如下订单这一业务过程中,您可以创建下订单这一明细表,用于记录下单过程可能产生实际数据字段,例如订单ID、订单创建时间、商品ID、数量、金额等。后续您可将这些明细表部署到数仓中,通过ETL将真实的数据按照明细表的定义方式进行汇总存储,便于业务分析时取用。
如上图所示:
创明细表时:
可以关联本明细表是用于分析哪个业务分类和业务过程,便于后续直接查看具体某一业务分类或业务过程下,有哪些明细表。
可以指定明细表后续在数据建模分析使用时,明细表的数据存储于数仓中的哪个数据分层,一般情况下明细表可存储于数据明细层(DWD层)。
明细表创建后,您可以为明细表添加字段,且可以对明细表进行关联和分区的设置,并且可使用统一的数据标准来进行字段设置,保障全数据域中的数据的属性是一致的。
明细表创建配置完成后,可发布物化至计算引擎,后续在计算引擎中使用明细表进行数据分析。
创建明细表
进入智能数据建模页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据建模。
在智能数据建模页面的顶部菜单栏,单击维度建模,进入维度建模页面。
创建明细表。
在维度建模页面,鼠标悬停至图标,单击 。
配置明细表的基本信息。
参数项
描述
数仓分层
选择已创建的数仓分层,仅支持选择公共层的明细数据层。后续使用此明细表时,明细表中的数据即存储在数仓的这一层中。详情请参见创建数仓分层。
业务过程
已创建完成的业务过程,详情请参见业务过程。
业务分类
已创建的业务分类,详情请参见业务分类。
存储策略
明细表存储数据的策略,可以选择每日增量、每日全量等多种策略。
表名规则
选择已配置的检查器。用于检测表名称是否符合该检查器制定的表命名规则。配置检查器,详情请参见配置及使用数仓分层检查器。
表名
表的内部名称。若配置了表名检查器,则表的名称需按照检查器规则配置。
表中文名
表的中文显示名称。
生命周期
明细表存在的时间周期。最大可保存36000天。
负责人
当前明细表的责任人。默认为创建明细表的用户。
描述
明细表的描述信息。
配置完成后,单击保存,保存成功后,可在左侧目录树进行查看。
添加表字段
模型创建成功后,您需要为模型添加表字段。
您也可以通过FML语句创建字段、关联关系及分区,操作方法请参见代码模式建模。
您可以通过快捷模式或代码模式为表添加字段,其中快捷模式支持从表/视图导入,即从计算引擎已存在的物理表或视图导入字段,即在查找已有表/视图下拉列表搜索并选择已存在的物理表或视图进行字段导入。
当前仅支持从MaxCompute、Hologres、EMR Hive引擎的表或视图导入。
快捷模式:从表/视图导入
单击快捷模式下,从表/视图导入后的展开。
在查找已有表/视图的输入框中输入相应名称,即可选择对应的表或视图,并在已引用的表后选择导入表或视图的全部字段或部分字段。
说明输入名称时支持模糊匹配,即输入关键字便可搜索到所有名称中包含关键字的表或视图。
仅支持搜索生产环境的表,不支持搜索开发环境的表。
图标表示导入全部字段。
图标表示导入部分字段。
当选择导入部分字段时,在弹出的窗口中,会为您展示所选表的字段,您可选择需要添加至模型的字段,完成后单击界面下方的导入。
说明如果已导入字段中存在字段显示名为空的字段,您可根据界面提示将字段描述填充为字段显示名。
代码模式
代码模式为您提供代码输入的操作方式,单击代码模式后,弹窗中会根据已配置的模型信息自动生成建模语言,您可以在此基础上修改模型信息,完成后单击下方的确定。
设置表字段信息
完成上述操作后,模型所需字段即已被添加至该模型中,此时您可以根据业务需求设置模型各字段的关联字段、冗余字段、关联粒度/指标。
设置字段属性。
字段属性默认展示字段名称、类型、字段显示名、描述、主键、非空、度量单位、操作等基础属性。您可以在展示已添加字段的右上方单击字段显示设置,选择需要展示出来的字段属性,并根据需要进行修改。
设置字段的关联字段标准、关联标准代码。
用于为已添加的字段选择关联的字段标准和标准代码,规范字段的取值内容及范围。
关联字段标准:统一规范管理含义相同但字段名称不同的数据,定义字段的取值范围、度量单位等内容。
关联标准代码:设置某一字段标准可选择数据的内容以及范围。
设置字段的冗余字段。
在已添加字段的操作列,单击冗余字段,即可设置字段的关联字段。
传统维度建模星型模型中,维度存储在维度表中,通过事实表的外键获取维度,目的是为了减少存储消耗。而在维度模型设计中,为了提高下游的查询效率,降低数据获取的复杂性,减少关联表的数量,通常事实表中会冗余常用的维度。例如,“订单创建明细表”冗余了“收货地址维度表”中的“收货地址”维度,包含“收货人地址、收货人手机号”等维度属性。
完成设置后单击左上角的保存。
后续步骤
维度表创建完成后,您仍需为表配置字段管理、关联关系、分区设置等内容,并将该表发布至对应环境,详情请参见发布模型至引擎。