《全链路数据治理-智能数据建模 》——客户案例:菜鸟集团数仓建模(4) https://developer.aliyun.com/article/1230930?groupCode=tech_library
3. 核心功能—规范定义
规范定义分为分层划域和表名规范两个部分:
1) 分层划域
我们将数据分为ODS、DWD、DWS、ADS 和DIM 五层。我们有12 大级的业务分类,菜鸟就是其中的一个业务分类。同时业务分类下面还有一些子级的业务分类。有13 个数据域,比如快递、财务等等和若干的业务过程。
2) 表名规范
我们有6 类的表名命名规范。因为在业务发展的过程中,之前可能业务分类只定了一级,后面发现一级业务大类并不能帮助我们在数仓建模的过程中有效地表现规范性,于是就迭代出二级业务分类。
4. 核心功能—逆向建模
无论是维度建模和Fast 建模,都要经过概念模型设计、逻辑模型设计和物理模型设计三个必要阶段。逆向建模是物理模型设计到逻辑模型设计的过程,也就是Hive 数据库已经有了N 张表,需要把它反向到逻辑模型中,这就是一个逆向的过程。
需要逆向建模的大部分是历史的不规范的表,菜鸟对于这些表是没有改造要求的,这些表可以通过批量逆向和FML 批量调整来实现逆向建模。批量逆向设计的主要目的是将几千张表顺移到数据仓库里面,通过表名的正则表达式匹配进行一个批量的逆向。正则匹配只针对当前遵守最新规范的表,对于不是很规范的表可以通过FML批量调整。
FML(Fast Modeling Language)是DataWorks 团队开源的,用于维度建模领域快速构建的DSL 语言,主要目标是提供一套kimball 维度建模理论下,结合大数据开发场景下的一种领域特定语言。原来的Hive 建表的时候我们不能指定业务分类、数据域和业务过程的,现在通过FML 语言就可以调整,这样就可以对不规范的表进行批量调整。
5. 核心功能—多表克隆
之前在模型设计的过程中,最常用的一个建模过程就是对源表进行数据探查,再进行模型设计。我们可能需要从N 张表中选取我们所需要的字段,对已有的表的字段进行勾选、顺序调整,最终形成一个逻辑模型。以前在线下对这样的过程可能就是从Excel 中将多张表的字段全部拷贝出来,选取自己所需要的字段,再进行一个字段排序等等。现在我们可以通过多表克隆功能选取我们所需要的表,这些表可能不仅仅是我们自己ODS 层的表,也可能跨project、跨企业引用,在多表克隆界面这些表都可以被选择,通过勾选字段的方式来建模,并生成简单的ETL脚本,省去自己手动写许多ETL脚本的过程。
《全链路数据治理-智能数据建模 》——客户案例:菜鸟集团数仓建模(6) https://developer.aliyun.com/article/1230927?groupCode=tech_library