近期参与了POC(Proof of Concept)演示环境的搭建,本次的实践使我将自身所学的知识进行了串联,对数据治理分析方案以及数据集成有了更深的认识。本次POC环境搭建用到了公司很多核心产品,脱离了简单的产品学习,更讲究公司各个产品之间的配合。
整个POC团队对主数据集成方面已经非常熟悉,但对于DAP数据分析方面仍然有欠缺,专业技术知识不足。针对上述问题,现将DAP数据分析平台包括数仓建设以及BI配置方面进行串联,对使用过程中的重难点、知识点进行梳理,作为自身知识的沉淀,同时也为后续同事学习提供技术支撑。
1数仓架构
数据仓库的构建往往是基于平台的,数据平台或者基础架构,融合到整个基础设施的搭建上,数仓整体架构如下:
本章就简单说下数仓的分层架构。首先有一个传统数据仓库层,它包含一个集中的数据存储平台,以及元数据管理和数据处理的工作调度层。数据包含多种数据源,有结构化数据和非结构化数据。结构化数据的处理分为如下三层。
1.1ODS中间库
ODS(Operational Data Store)面向主题的数据运营层也叫ODS层,ODS层是最接近数据源中数据的一层,数据源中的数据,经过抽取、清洗、传输(ETL/ESB)装入ODS库。ODS的数据,总体上大多是按照源头业务系统的分类方式而分类的。
一般来讲,为了考虑后续可能需要数据追根溯源问题,因此对于这一层不建议做过多的数据清洗工作,原封不动地接入原始数据即可,并为数据拉取或定义时间戳,方便ODS-DW的数据增量同步。至于数据的清洗、去重、异常值处理等过程可以放在后面的DW层来做。
1.2数据仓库层
数据仓库层是我们在做数据仓库时要核心设计的一层,从ODS层中获得的数据,按照主题建立各种数据模型。DW层又细分为DWD层、DWM层和DWS层三种层面。
1.2.1数据明细层
数据明细层:DWD(Data Warehouse Detail)层一般保持和ODS层一样的数据粒度,主要提供一定的数据质量保证。主要是对ODS内的数据按照主题进行划分,并且对数据进行清洗,同时为了提高数据明细层的易用性,该层会进行维度提炼,将维度整合至维度表中,使DWD层的数据均采用黄金编码。
1.2.2数据汇总层
数据汇总层:会在DWD层的数据基础上,对数据做一些聚合操作,形成DWM聚合。生成一系列的中间表,提升公共指标的复用性,减少重复加工。同时也会做一部分的数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性。简单来讲,就是对基础表的基础指标进行计算,按照通用的核心维度进行聚合操作,算出相应的统计指标,一般来说聚合分为两类:一类是横向的聚合;另一类为纵向的聚合,对基础事实表的指标进行汇总。
在根据这个汇总表生成数据集、立方体以及综合业务报表进行多维度分析,在增加开放的OpenAPI,使数仓数据能够实时共享。
1.2.3数据服务层
数据服务层:数据服务层是指在数仓数据模型基础上生成对应的数据集、立方体。数据集是数据的集合,按照对应的分析主题进行构建,而数据立方体是在数据集的基础上进行指标的再次处理,对指标进行计数、平均值、最大值以及最小值等相关处理,形成最终的数据立方体。最后DAP将数据集和立方体对外提供服务发布接口,对外提供数据获取服务。
1.3数据应用层
在数据应用层是将我们的数据集市DM主要是以数据中台方式对外提供数据服务,可以理解为我们就是数据提供者。数据应用层的出现是为了弥补数据开发和应用开发之间,由于开发速度不匹配,出现的响应力跟不上的问题。例如我们的数仓可以为集团大屏的各个业务系统提供API,将数据生产为一个个数据 API 服务,以更高效的方式提供给业务。
2基础配置
在DAP数据分析平台进行分析,需要在外部系统数据库数据分析平台进行注册,并根据实际需求对主题进行划分,同时在数据调度的过程中,需要基于ESB生成对应的调度资源,现将基础配置进行说明如下。
2.1构建过程
整体配置过程如下:
1.首先将各个业务系统的数据库在DAP系统注册模块对数据库进行注册;
2.在ODS定义模块挑选需要分析的数据表形成对应的ODS,并在数据库生成对应的数据表,在ESB设计器生成对应的调度流程;
3.对ODS数据表进行分析创建对应的维表,并生成维表的调度流程;
4.基于分析主题构建对应的基础事实表以及汇总事实表,撰写响应的SQL处理语句,对字段信息进行映射,最后在数据库创建数据表,在ESB设计器生成对应的调度流程;
5.基于维表和事实表构建数据模型,之后点击生成任务按钮并生成对应的调度任务;
6.基于模型构建数据集以及立方体,为组件配置提供对应的数据源;
7.在导航管理模块选择组件,基于数据集和立方体构建最终展示的组件实例,并配置对应的组件联动以及组件穿透完成整体配置工作。
2.2系统注册
业务系统注册主要是对需要DAP数据分析平台自身数仓、ODS以及各个数据来源的业务系统进行数据库注册ÿ