赞
踩
建立一个数据中台模型满足您的所有商业智能目标,这绝非易事。使用 Datablau Data Modeler,您可以将数据中台模型生命周期中涉及的大量标准和重复性任务减少到几个简单的步骤。在本文中,我们将以一个案例描述使用 Datablau Data Modeler 通过分步方法构建数据中台模型的过程。
某企业有一个在线客户订单业务,目前在MySQL 数据库中维护其销售数据。行业中数据中台大行其道,该公司最近决定在整个企业中实施数据中台战略,以提高商业智能并获得更可靠的业务决策助力。数据团队有按需开发宽表集市的经验,IT 团队和技术专家警告他们执行和维护整个数据中台所需的专业人才和资金,业界也已经广为流传数据中台翻车传闻。为了建立快速而可以有效复用,高质量的中台模型,他们决定使用 Datablau Data Modeler 来设计、开发、部署和维护他们的数据中台模型。让我们来看看我们为他们构建数据模型所遵循的过程。
该企业的现状是,严格来说是没有数仓概念的:没有分层,没有主题域,也没有规范。数据团队人数不多,面对数据需求,数据分析人员开始需求分析、指标拆解、字典选取、宽表建立、报表开发等一条龙作业,最终形成了宽表各种版本混乱,临时表和结果表不清,维度混乱等后续问题,同时由于团队成员感觉成为了取数机器和SQL Boy,学习不到新东西,逐渐出现人员流失,代码逐渐难以维护,数据质量问题频出。总之,出现了难以为继的苗头。
吸取教训,本次中台的规划做了调研工作,大数据平台选用主流Hadoop系列,数据标准,指标,维度,数据规范,命名规范,数据质量等都做了规划,虽然尚无太多内容,但随后项目过程中来不断丰富和遵循。
为了避免“宽表一时爽”的问题,规划方案对数据模型做了分层,使用DDM Mapping对映射逻辑做了管理,提高系统的可维护性和质量。
ODS(原始数据层)
ODS层是数据仓库准备区,为DWD层提供基础原始数据。命名方面,不管是表命名还是字段命名尽量和业务系统保持一致,但是需要通过额外的标识来区分增量和全量表,”_delta”来标识该表为增量表。
DW(数据仓库层)
ADS(应用数据层)该层主要是提供数据产品和数据分析使用的数据。我们通常说的报表数据,一般就放在这一层。
数据分层 | 系统名称 | 系统简写 | 名称 |
ODS | 例子:客户关系管理系统 | crm | o_crm_dam_表名_inc |
DWD | 参与人 | ip | wd_ip_表名_db |
DWS | 参与人 | ip | ws_ip_表名_db |
ADS | 项目名称 | rp | ads_rp_表名_db |
(层间表名的命名规则)
客户运营部门需要统计以往年度哪些区域的客户注册数和年龄分布情况,以便在广告投放方面进行倾斜。分析需求主要是需要年度的订单数据,统计区域维度的用户数;并按照客户的年龄分布作为维度,进行二次统计。这个需求并不复杂,我们分析数据源头主要需要销售数据库的数据,同时需要区域和客户年龄段的画像数据。
使用 Datablau Data Modeler 构建数据中台模型的第一步是识别和建模源数据。我们需要创建一个数据模型项目,使用数据模型工具栏上的【逆向数据库】图标对销售数据库进行【逆向工程】。
这是我们对数据源进行逆向工程后的样子:
注意:此模型中的实体框都对应来自数据源的表。
通过检查模型,我们发现模型中实体的字典缺失比较严重(这也是企业数据治理工作缺位的表象之一),数据之间的关系当然也是缺失的,如何在这些分散的数据表中,找到我们分析索要的数据呢?
当然我们的方法是对源系统数据进行建模,构建业务系统的数据模型,这可以让我们快速的了解业务,准确的分析业务需求。
第一步:我们进行数据字典的补全,这是治愈的第一步,虽然这个库的物理命名还算标准,我猜你遇到的情况比我还要差。通过访问源系统开发团队,收集到缺失的数据字典,我们整理为DDM的Excel数据字典格式,进行导入,运气非常好,我们补全了90%的数据。对于缺失的10%,我们给原系统开发团队发送了求助邮件,他们都非常好,很快给我进行了反馈,同时告知了此系统的业务模块,完成数据字典补全。
第二步:对此模型进行了业务主题建模,建设了三个主题:
产品数据(Product):整理了产品相关的主数据和参考数据以及数据之间的业务关系。
(主题域逻辑模型)
我们已成功创建、验证和部署源数据模型。
该过程的下一步是设计一个维度模型,该模型将用作数据中台模型的通用公共模型。您可以使用数据模型工具箱中提供的Entity实体界面从头开始设计模型。根据需求,我们将订单表和支付表合并为订单事实表;将客户和电影表进行了适度的冗余,地址表也进行了冗余,最终设计出这个星形维度模型。
通过右键单击实体,将鼠标悬停在上下文菜单中的实体类型上,然后从给定选项中选择适当的类型,您可以方便地将类型更改为事实或维度。
根据分析需求,在订单表中,根据订单日期衍生了字段“年”,客户表根据客户身份证,衍生了星座,这个标签用户分析星座对订单的影响。
打开数据映射管理器:
Step1:新建数据映射
Step2:模型库中选择目标表,这里默认是进入的时候的Film表。
Step3:源端模型,在模型库中选择ODS侧的模型,选择与Film相关的关联表。
Step4:工具跟进模型实体之间的关系,构建的连接实体和关联字段;也可以手工进行调整;
Step5:目标字段映射,工具根据名称自动进行映射,不能映射的空余项,需要在编辑器手工进行映射。
Step6:生成SQL语句和映射对应关系图。
可以预览和导出SQL语句
依据上述步骤,对其他四个DWD的表建立映射关系。
该过程的下一步是设计一个分析维度模型,该模型将用作客户偏好分析的目标模型。根据需求,我们将城市,星座,年度三个属性作为维度字段,将客户数和金额数作为度量指标。构建了这个区域客户分析的宽表。
通过右键单击实体,将鼠标悬停在上下文菜单中的字段类型上,然后从给定选项中选择适当的类型,您可以方便地将类型更改为度量或维度。
按照2.1方法,建立映射关系,如下图所示:
对于维度实体,布局生成器中的维度角色列提供了完整的选项列表。这些包括以下内容:
现在维度模型已准备就绪,我们将对其进行验证和部署以供进一步使用。
在这一步中,我们将通过设计 ETL 管道将相关源数据加载到每个表中来填充到数据中台模型。在 Datablau Data Modeler 中,您可以在Mapping设计器产生DML SQL语句,包括从ODS到DWD的SQL语句,从DWD到ADS的SQL语句,存储为两个文件。将新的SQL语句导入的ETL调度工具,可以选择的是DataX或者AirFlow等,进行数据的分布加载和运行。
最后,我们将通过调度工具内置的 Job Scheduler 自动执行刷新这些数据的过程。在Scheduler选项卡中,您可以创建一个新计划,以给定调度频率自动执行调度过程。有关如何使用作业调度程序的详细指南,请按照您使用的调度工具进行配置。在这种情况下,我们已安排每天刷新销售数据。
数据中台模型现在可以通过内置的 JDBC 服务与业界领先的可视化和分析工具(例如 帆软,Tableau等)集成。公司可以使用这些工具有效地分析他们的销售数据并从中获得有价值的业务洞察力。
通过上述步骤,我们通过DDM专业模型工具,完成整个数据仓库的整体建模过程。整个过程种,DDM可以有效的完成数据标准的落地,数据资产的梳理,后面我们详细介绍建模过程中,如何完成数据的标准化构建和行业模型的积累辅助,让你站在巨人的肩膀上,构建数据中台。
原创文章作者
朱金宝 CTO目前供职于北京数语科技有限公司,实施了多家大型企事业单位的数据治理项目,有丰富的企业数据管理工具开发经验。前ERwin总架构师,10年ERwin研发经验,负责产品全生命周期的发布,丰富产品发布和架构设计经验,多个大数据建模专利所有者和技术文章作者。
▔Datablau创建于2016年,核心创始和研发团队全部来自于原CA erwin,天然具有世界级产品厂商的血缘和水准,是国内数据治理的第一品牌。依托多年的行业积累和技术沉淀,Datablau在产品设计层面充分发挥了后天优势,实现了集数据建模、数据目录、数据质量和数据准备为一体的企业级数据治理平台,全面满足企业对于数据治理的客观需求。目前Datablau在以建行为代表的六大国行、九大股份、城商行、人寿人保为代表的保险行业、两大电网、证券基金TOP10、华为海信为首的制造业等大型客户得到实际应用并深受好评,Datablau已成为企业数据治理领域的领导厂商。
更多渠道了解我们
官网: www.datablau.cn
关注我们,及时了解数据治理干货
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。