《全链路数据治理-智能数据建模 》——客户案例:菜鸟集团数仓建模(8)
《全链路数据治理-智能数据建模 》——客户案例:菜鸟集团数仓建模(7) https://developer.aliyun.com/article/1230926?groupCode=tech_library五、 提问Q:菜鸟的建模是基于DataWorks 做定制化开发吗?A:建模平台是我们和DataWorks 共建的,我们是建模平台的一个使用方,也会把使用中的一些问题提给DataWorks 来迭代优化。外部用户也可以在阿里云上开通DataWorks 来体验这个数据建模产品,和集团内的版本没有太多区别。Q:历史数据有变动的情况,每一层应该怎么处理?A:对于历史变更比较频繁的数据,建议做一个历史全量表。对于变更不频繁的数据,建议做一个每日增量,比如说最近90 天变更。这个可以根据业务数据变更的频繁程度来做一个合适的模型设计。Q:模型是怎么打分的?怎么控制数仓SQL规范?A:开发人员写SQL 容易出现跨层依赖。首先是SQL 规范,DataWorks 提供了很多检查器的功能,可以监测到数据上很大一部分问题,比如select *。其次是模型打分,主要从模型的规范和成本、稳定性和通用性来评估模型的好坏,将这几个维度综合起来来给模型打一个分。Q:正向数据模型只是建一个表结构吗?建模后如何灌入数据?与宽表打通?A:正向数据模型不只是建一个表结构,还需要将模型物理化,物理化后再进行数据的灌入,后续还有很多ETL开发功能在里面。
《全链路数据治理-智能数据建模 》——客户案例:工业OT 域数据最佳实践(4)
《全链路数据治理-智能数据建模 》——客户案例:工业OT 域数据最佳实践(3) https://developer.aliyun.com/article/1230882?groupCode=tech_library四、 基于DataWorks实现指标工厂DataWorks 数据建模支持数仓规划设计、制定并沉淀企业数据标准、维度建模、数据指标定义,通过使用DataWorks 数据建模,可以将建模设计产出的分层模型表物化到计算引擎中并进一步应用。基于DataWorks 数据建模功能,可以快速实现指标工厂概念中的原子指标和派生指标,以及表模型的定义和创建。1. 数仓分层设计OT域指标建模和IT 域一样,可以把数仓分为贴源层、公共层、应用层等。2. 原子指标定义这里实际上是定义在计算派生指标时原子指标的聚合方式,由于聚合方式是可枚举的,可以在这里把原子指标全部枚举定义出来。3. 派生指标批量定义通过批量选择原子指标、时间周期即可实现派生指标的批量定义,完成不同周期,不同聚合方式的派生指标定义。4. 模型表定义通过快速导入的方式,可以实现将上一步定义的不同统计周期的派生指标批量的导入至模型表中。通过派生指标做公式计算得到衍生指标,在建模过程中没有标准的定义,在具体实施的时候可以通过一个前端来做公式的配置,公式存储在配置表中,在指标计算的时候读取配置表中的公式信息,然后关联获取依赖的派生指标值,再做批量的计算即可得到衍生指标结果值。《全链路数据治理-智能数据建模 》——客户案例:工业OT 域数据最佳实践(5) https://developer.aliyun.com/article/1230878?groupCode=tech_library
《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(5)
《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(4) https://developer.aliyun.com/article/1230830?groupCode=tech_library五、 数据模型落地基于以上设计,阿里云全球技术服务团队与DataWorks 产品团队合作,通过智能数据建模产品将以上规范在客户生产环境落地。DataWorks 智能建模产品分为四个模块:数据指标、数据标准、数仓规划、维度建模。1. 数据指标分别包含派生指标、原子指标、修饰词、时间周期四个模块。1) 原子指标原子指标用于明确业务的统计口径和计算逻辑,是基于用户的业务活动(即业务过程)创建的,用于统计业务活动中某一业务状况的数值。比如,车的产量是根据车体过点记录中通过车间下线工位为准,故以车体过点记录明细表加上下线业务动作约束,可以得到车的产量。实际产成品数量原子指标2) 派生指标派生指标通常由原子指标+时间周期+一个或多个修饰词组成。因此,派生指标关注的点为原子指标、时间周期、修饰词以及所属的业务过程。并且,由于公共层和应用层的定位均可存放派生指标,故也要指定好其所属层级。比如,我们要计算近1天的XX 车型实际产量,需要通过“车体实际产量+1d+XX 车型”得到。某派生指标3) 修饰词修饰词是一种业务修饰,用来圈定或者聚焦统计数据的业务范围和限定。在此产品中,修饰词被分为普通业务修饰词和维度枚举修饰词。车型信息可以作为一种修饰词,去结合其他的原子指标,衍生出车型维度下的各个派生指标。某修饰词4) 时间周期时间周期是用来明确数据统计的时间范围或者时间窗口,例如近1天,近1自然周。用于在统计派生指标时,限定业务统计的时间范围。本次项目中用到的时间周期有,近1 天,近一周,近一个月,近一个季度,近一年,每日,每月,每季度,每年。时间周期示例《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(6) https://developer.aliyun.com/article/1230828?groupCode=tech_library
《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(6)
《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(5) https://developer.aliyun.com/article/1230829?groupCode=tech_library2. 数据标准DataWorks 的数据标准包含字段标准、标准代码、度量单位、命名词典。1) 字段标准字段标准又称为数据字典,可理解为全局字段管理。可将多个表中含义相同但字段名不同的内容进行关联,并对该字段制定相关的取值范围、度量单位、标准代码等内容。如图:对实际产成品数量的精度做了定义。字段标准2) 标准代码标准代码是数据标准的取值范围,在标准代码中可设置某一数据标准可选择的数据的内容以及范围。某标准代码3) 度量单位字段参数的数量单位(如个、厘米等)。如图,为常见时间单位。度量单位示例4) 命名词典某命名词典《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(7) https://developer.aliyun.com/article/1230826?groupCode=tech_library
《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(7)
《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(6) https://developer.aliyun.com/article/1230828?groupCode=tech_library3. 数仓规划数仓规划包含了数据分层、业务分类、数据域和业务过程。1) 数据分层DataWorks 默认有五层数仓分层:数据引入层ODS,明细数据层DWD,汇总数据层DWS,应用数据层ADS,公共维度层DIM。数仓分层示例2) 业务分类本次项目共划分了六个业务模块:汽车生产业务模块示例3) 数据域数据域是一个较高层次的数据归类标准,是对企业业务过程进行抽象、提炼、组合的集合。某数据域《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(8) https://developer.aliyun.com/article/1230822?groupCode=tech_library
《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(8)
《全链路数据治理-智能数据建模 》——客户案例:汽车行业数据建模最佳实践(7) https://developer.aliyun.com/article/1230826?groupCode=tech_library4. 维度建模DataWorks 的智能建模遵循Kimball 维度建模理论。在此模块中,我们需要分别定义出维度表,明细表,汇总表的结构。某维度表某明细表某汇总表六、 总结在建设的过程中,我们通过和车间负责人调研的方式了解各车间的生产业务和系统使用特点,最终圈定了生产、质量、设备和成本四个业务域来建设指标模型。最终,我们在该企业共沉淀了100+个指标,按照车间、线体、工位、设备、车辆、班次、能耗类型、缺陷类型、告警类型等10+种不同维度延伸。帮助支撑了5 个以上应用及报表系统。同时DataWorks 智能建模产品在项目中的使用,使我们在梳理建模工作步骤时更加规范化、体系化,对接工作不再是依赖于散乱的文档,而是把每一步的产出都沉淀到工作台上。可以看到我们建模的每一个步骤都在平台上做了落实,对初次参与建模工作的人来说,是非常友好的:有时面对复杂的建模流程,经验不那么丰富的工作人员可能会感到无从下手,靠着产品的引导可以很大程度帮助解决这个问题。后续我们也会将各个行业中的经验沉淀成行业数据模型模板,加速行业数据规范化建设。
《全链路数据治理-智能数据建模 》——客户案例:大淘系数据模型治理最佳实践(4)
《全链路数据治理-智能数据建模 》——客户案例:大淘系数据模型治理最佳实践(3) https://developer.aliyun.com/article/1230768?groupCode=tech_library3. 智能建模在数据治理中有数据规范与共建机制依然是不够的,还需要结合自动化工具来提升效率、保障规范。我们是从以下4 个方面入手的(详情可以体验DataWorks 的产品):• 数据体系目录结构化• 模型设计线上化• 打通研发流程(自动化生成简代码)• 对接地图数据专辑1) 数据目录体系结构化形成数据体系目录有利于了解掌握数据,分门别类的方式降低了大家的使用成本。首先要对表命名做一些管控,我们做了可视化的表命名检测器,来确保规范性。另外,淘系不是一个单空间的数据体系,因此要解决跨多个空间的复杂数据体系的统一建模问题。2) 模型设计线上化改变模型设计方式,由线下设计迁移到线上,通过一些自动化工具,提升效率,保证规范。《全链路数据治理-智能数据建模 》——客户案例:大淘系数据模型治理最佳实践(5) https://developer.aliyun.com/article/1230766?groupCode=tech_library
《全链路数据治理-智能数据建模 》——客户案例:大淘系数据模型治理最佳实践(7)
《全链路数据治理-智能数据建模 》——客户案例:大淘系数据模型治理最佳实践(6) https://developer.aliyun.com/article/1230765?groupCode=tech_library四、 未来规划1. 应用层效率在整个数据体系中,应用层的数据体量是最大的,投入了大量的人力。OneData 缺少对应用层的数据建设指导,集市高度耦合,给运维效率带来了不少问题,如跨集市依赖、依赖深度的问题。过去都是以业务为主导,为了保障研发效率放弃了部分研发规范,以后要完善应用层的研发规范,同时通过工具做好研发效率与规范的平衡。2. 架构规范管控基于分层标准落地,对研发过程规范完善,包括对设计、开发、运维、变更、治理等规范进行细化。目前核心是表命名规范,对依赖规范、代码规范、运维规范等管控能力尚不足。3. 产品工具提效将继续与Dataworks 共建。• 应用层智能建模能力还不能满足研发效率要求,因此会继续功能提效。• 数据测试功能集成。• 数据运维功能升级。• 事中数据治理能力构建(开发助手)。• 事后治理能力提效(批量删除、主动推送优化等)。• 数据地图,找数用数提效。《全链路数据治理-智能数据建模 》——客户案例:大淘系数据模型治理最佳实践(8) https://developer.aliyun.com/article/1230751?groupCode=tech_library
《全链路数据治理-智能数据建模 》——产品实操:零售电商数据建模操作实践(1)
产品实操:零售电商数据建模操作实践作者:李佳慧,DataWorks 产研团队实验目标• 以零售电商模拟数据为基础,了解数仓建模整体流程。• 通过DataWorks 智能数据建模,进行数仓分层、数据建模、数据标准、数据指标等产品实操。业务背景根据零售电商行业的会员、商品、交易、物流、评价等业务数据计算出GMV(商品交易总额)、用户画像等数据供业务决策。注本次实验数据为人工mock 虚拟数据,非任何业务真实数据,仅供体验使用。流程简介使用DataWorks 智能建模模块,完成对业务数据仓库的模型规范制定及数据分层、数据域、业务过程等信息的设定,完成逻辑模型的设计,并将逻辑模型发布生成物理表。实验步骤一、 环境准备1. 购买并开通DataWorks 与MaxComputehttps://dw-common-buy.data.aliyun.com/?frompath=/plan• DataWorks 专业版:首月1 元• DataWorks 智能数据建模:首月199 元• MaxCompute 按量付费2. 创建项目登录DataWorks 管理控制台,在上海地域创建一个新的工作空间。1) 基本配置• 工作空间名称:retail_e_commerce_2(由于MaxCompute project name 需要全局唯一,名称被占用请更换)• 显示名:零售电子商务2• 模式:标准模式(开放和生产隔离),标准模式和简单模式的区别请参见官方文档• 描述:零售电子商务项目注• 开发环境MaxCompute 项目名称:retail_e_commerce_2_dev• 生产环境MaxCompute 项目名称:retail_e_commerce_22) 选择引擎选择按量付费的MaxCompute 引擎。这里非必选,可以选择先创建空间,后续在工作空间配置中再绑定。3) 引擎详情实例显示名称:retail_e_commerce_2其余都使用默认配置。4) 进入工作空间创建完成后可从当前页面“DataWorks 管理控制台-工作空间列表”入口进入DataWorks 数据开发界面。(当前语句有效,由于就在上一步操作完成的当前界面,所以没有提供截图。)进入工作空间后,从左上角-全部产品入口可以进入数据建模、数据集成、数据开发、运维中心等各个模块。《全链路数据治理-智能数据建模 》——产品实操:零售电商数据建模操作实践(2) https://developer.aliyun.com/article/1230569?groupCode=tech_library
《全链路数据治理-智能数据建模 》——产品实操:零售电商数据建模操作实践(2)
《全链路数据治理-智能数据建模 》——产品实操:零售电商数据建模操作实践(1) https://developer.aliyun.com/article/1230572?groupCode=tech_library3. 绑定引擎绑定MaxCompute、Hologres(可选)、E-MapReduce(可选)引擎,绑定相关引擎后,可以创建对应的引擎节点。绑定引擎详情请参见官方文档配置工作空间。MaxCompute 引擎,由于之前我们创建的时候已选择该引擎,所以这里不需要再绑定。注意一下此处的几个配置信息,一个标准模式的DataWorks 工作空间对应两个MaxCompute 项目,一个生产环境和一个开发环境分别如下:Hologres 引擎绑定Hologres 引擎帮助文档。E-MapReduce 引擎绑定E-MapReduce引擎帮助文档。4. 权限规划(可选)本实验中使用主账号操作,相当于是最大权限。在实际生产中,对权限的管控需求可以参考如下:• DataWorks:用户、角色与权限概述官方文档。• MaxCompute:权限概述官方文档。《全链路数据治理-智能数据建模 》——产品实操:零售电商数据建模操作实践(3) https://developer.aliyun.com/article/1230566?groupCode=tech_library