数据分析平台要点梳理
Posted 数通畅联
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据分析平台要点梳理相关的知识,希望对你有一定的参考价值。
近期参与了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以及各个数据来源的业务系统进行数据库注册,便于分析平台进行数据处理操作,可以在业务系统注册模块进行数据库信息注册。
在各业务系统内进行数据源注册即可。
2.3主题配置
DAP数据分析平台业务主题可以按照企业的分析需求分成各个主题,例如财务主题、销售主题、采购主题、生产主题等等,根据实际业务需要划分即可,在主题管理点击新增分组增加业务主题。
接下来填写对应分组即可。
2.4调度配置
数据中台使用的数据库具体说明如下:
以上数据库在做数据同步、初始化、分发以及调度DAP数据调度资源时均需要在ESB进行数据库资源的注册,方便集成流程内进行读取,具体注册放在ESB企业服务总线的 “系统应用”—“数据库资源模块”,如下图:
注意:涉及DAP调度相关数据库必须以“__数据库名称”格式注册。
3数据模型
数据分析平台分为两大类;一类是数据模型;另一类为分析模型。数据模型主要包含维表的配置、事实表的配置及模型的配置,并对指标进行集中管控,具体操作步骤如下。
3.1维度配置
维度表属于数仓的设计范畴,维度表大体上分为两类,分为自然维度以及定义维度。自然维度是自然存在的枚举时间维度、地域维度、学历维度等是本身就存在的。例如在事实表中存在一个时间,现在我们要根据这个时间字段去汇总指标,这时一般有两种处理方式;第一是通过SQL的函数进行处理;第二是该时间关联时间维度表进行汇总。
以数据中台POC财务科目为例,定义维表是根据业务系统进行划分的。每个公司都离不开财务方面,钱是和财务挂钩的,在财务出纳时会关联财务科目,而企业总部和每个分公司的财务科目却不一致,这就导致了数据混乱的现象。所以我们根据业务需求定义财务科目这个维度表,使其共有一个黄金编码,维度表一般是有主键的。代表该类物质的一个单一个体,其他的字段一般都是有层次关系,指标通常都是根据维度进行汇总计算,这样就统一了数仓数据的口径。
接下来是维度定义的实际操作,维表一般可以作为维度(筛选方式)的表。这里创建维表的方式有两种;一种是手动新增一个维表,配置字段信息之后,点击初始化进行维表的创建;另一种是通过导入按钮,选择数据库和目标库后,点击执行完成维表创建。
接下来配置维表的实际字段信息。
配置维表数据来源的SQL,可以从ODS中撰写SQL定义,也可以通过业务系统定义。
接下来配置每个字段之间的映射,在生成对应的ESB数据加工流程时,会按照配置的映射关系处理字段映射。
最后直接在数仓创建表即可。
3.2事实配置
事实表其实就是通过各种维度和一些度量值指标组合构建的,比如通过时间维度、地域维度、组织维度构建,而指标值是某人某时某地的一些实际发生的值。比如说2020年3月15日客户李枚支付定金5000元,这个金额就是指标。事实表的每一条数据都是几条维度表数据和指标值交汇得到的。
在实际的项目实施过程中,事实表都是根据主题来构建的。而主题是跨业务系统的,在实际数据展现时根据主题来确定展示的模型,在通过模型来确定维表和基础事实表。
事实表又分为两类;一种是基础事实表(DWD);另一种是汇总事实表(DWS)。
基础事实表:对业务系统基础数据的外键进行处理,关联我们的基础数据,并对ODS字段进行处理,选取度量,主要是按照业务系统来构建。
汇总事实表:是基于相同维度的基础事实表进行度量合并,合并分为两种:一种是纵向合并法,汇总过程中以时间维表进行关联,将基础事实表的时间进行汇总,对度量进行汇总求和或者求平均值;另一种是横向合并发,将基础事实表的字段进行合并,例如根据基础事实表的项目主键ID进行字段合并。
接下来是事实表创建的实际步骤,和维度表创建类似,首先点击新增按钮录入事实表的基础信息;
接下来配置字段的详细信息及映射关系,注意要先处理SQL部分,事实表的加工汇总不在于平台操作,而是SQL的撰写;
配置对应的SQL,ESB数据加工流程会根据SQL来处理ODS中的数据。
最后配置SQL与字段映射即可。
3.3模型配置
数据模型的配置核心是对上边配置的维度表、事实表等进行关联(要非常熟悉每个表之间的关联关系),并配置对应的关联关系,点击新增按照录入数据模型的基本信息选择数据表。
选好对应的维表以及ODS表后,配置关联关系;
详情配置页面选择每个字段之间的关联关系;
最后通过预览功能查看效果。
3.4指标管理
指标就是数仓汇总事实表的一个元数据字段,而原生指标是业内比较通用的,例如营收完成率、回款完成率等。所以说原生指标是通用的基础指标,如下图是房地产行业中的常见指标。
基于原生指标还会产生对应的衍生指标,衍生指标和基础事实表、汇总事实表的建设是类似的,都是在原生指标的基础上对指标进行加工汇聚,这就是衍生指标(自己定义)。例如我们汇总事实表的是原生指标,这时我们根据客户提出需求对指标进行加工,在我们的立方体内可以自定义指标加工公式,也可根据时间维度进行函数计算,并进行WHERE筛选。
指标的实际配置过程如下,在事实表定义时选择是否指标,选择指标的基本、指标的类型,选择后在指标关联模块显示对应的指标;
具体包括指标的来源、指标具体在哪个导航应用等信息。
4数据调度
4.1调度资源
调度资源核心功能是为数据模型提供数据,且保障数据的实时性。调度资源实际上是对ESB流程进行引用,在DAP数据分析平台的调度可以自动生成,同样也可以在DAP调用外部ESB的数据加工流程。
在ESB的集成流程分为三类;业务系统-ODS、ODS-DIM和ODS-DW三种调度资源创建模式,可以使用ESB进行流程创建。
生成对应流程如下:
接下来改流程,通过DAP的配置可以在调度资源模块进行流程执行调用。
4.2调度任务
调度任务有两种生成方式,分为自动生成和手动新增,具体生成方式如下:
自动生成:在数据模型内通过点击生成任务按钮,自动生成任务,通过DAP元数据、关联关系找到对应的执行流程,并将流程按照数据加工执行顺序,插入到对应的关联表当中,并在调度任务列表内生成对应的调度任务。
手动新增:新开发调度任务模块,通过调度任务模块手动新增任务,选择对应的调度资源来完成调度任务新增工作,并支持多种调度任务出发,具体包含手动触发、时间触发以及定时触发。
可以在任务管理模块生成对应的调度任务,按照数据加工的顺序串联起来。
4.3调度日志
调度日志可以显示调度任务的执行情况,显示成功失败、调度任务的执行时间、策略等详细信息。
5分析模型
数据分析平台分为两大类:一类是数据模型;另一类为分析模型。分析模型主要包括数据集以及立方体,数据集是基于上述配置数据模型构建的数据集合,在数据集合的基础上,还可以进行数据的多维度分析,现对配置过程描述如下。
5.1数据集配置
数据集是一个数据的集合,通常以表格形式出现。每一列代表一个特定变量。每一行都对应于某个成员的数据集问题。在数据分析平台,数据集是分析模型的一部分,可以选择数据模型,基于数据模型找到对应维度表和事实表。
在保存过后会自动生成对应的关联关系。
直接选择需要分析的指标即可。
最后可以通过数据预览查看最终效果。
5.2立方体配置
数据立方体允许以多维数据建模和观察。它由维和事实定义。 维是关于一个组织想要记录的视角或观点。每个维都有一个表与之相关联,称为维表。 事实表包括事实的名称或度量,以及每个相关维表的关键字。以统计每个公司的人员学历情况,可以选择对应的数据集。
找到数据集中的表,按照指定的维度对指标进行分析,分析可以分为求和、平均值、计数以及最大值等计算。
最后可以通过数据预览查看最终效果。
5.3业务类报表
DAP数据分析平台综合业务报表主要是根据数据集为客户提供综合业务报表,其配置方法相对比较复杂,可以选择表头数据集以及报表数据集,综合业务报表通常是多表头的,效果如下:
在选择报表数据集后,在下方会出现对应的字段,可以通过前方选框勾选字段信息显示内容,是否固定功能通常设置在编码或名称等具备标识性的信息上,进行固定。
数据行合并,如上方最终显示样式,从下向上第一行是应发薪资、奖励薪资、奖惩薪资等;第二行为基础薪资,基础薪资都是相似的配置,如果勾选数据行合并后会将相同的二行合并成一行,可以按照此配置来创建综合业务报表。
6组件配置
有了对应的分析模型,就可以进行组件的分析展示工作了,DAP数据分析平台预置了丰富的组件,涵盖条形图、柱形图、雷达图、饼图、散点图等图形。根据这些组件及分析模型,就可以配置出丰富的组件,具体如下。
6.1页面布局
页面布局主要针对组件的展示位置进行样式配置,首先在导航管理处新增一个页面,在页面进行布局。
新增一个行容器进行布局设置,例如常见的页面布局如下。
可以新增两个行容器,上边行容器拆分成三个列容器,下边的行容器继续拆分成两个列容器,点击添加子容器。
增加三个子容器;
按照相同方法在下边的行容器上再增加两个列容器,具体效果如下:
注意可以设置每个容器的属性,也就是每个容器的宽度,容器的总长是12。注意设置属性的时候不能超过12。
6.2组件配置
组件配置主要针对现有的组件,如柱状图、折线图、雷达图等,并以拖拽的方式配置组件,将组件拉取到上方创建好的布局容器中。
接下来点击按钮配置组件实例,在组件配置页面选择对应的数据集及立方体。
按照实际的业务需求配置组件。
6.3页内联动
组件的页内联动以下图为例;
通过点击左侧的组织树,选择对应的组织,右侧的组件及表格可以随点击进行联动,其配置如下:
通过组件内部的组件联动模块进行配置,选择关联组件,接下来选择树形组件的标识字段,之后选择当前组件的关联字段即可实现组件联动。
6.4穿透配置
穿透配置和上述组件联动配置是大体类似的,通过组件的配置详情页面进行组件穿透配置。
之后可以用打开标签或弹出窗体的方式进行穿透,跳转到指定的页面。
之后配置对应的穿透字段即可。
7心得体会
本篇文档还有不严谨之处,例如如果用户选择的维度、原生指标已经生成过相应的指标,是否要提示用户来避免重复开发和计算?如何基于指标进行预警等。接下来我又思考了数仓构建,帮助我们解决工作中实际的问题,以及对数仓的使用难度进行分析,文档心得如下。
7.1数仓作用
首先数据分析平台落地的基础就是数仓建设,而数据分析平台面向对象是公司集团中高层管理者,那数据分析平台可以帮助该类人群解决什么样的实质问题呢?从数仓建立到运转,我认为可以帮助管理者解决以下几个问题:
1.首先数据治理分析将不同业务系统的数据进行加工汇总,管理决策者可以减少用直觉来做判断,一切依靠数据来说话;
2.其次有时业务主管可以不必依靠IT信息部人员就能快速地生成综合业务报表,大大提升了工作效率,不用担心数据的准确性,数据可真实的反映出内部的问题,从数据倒闭业务或其他相关问题;
3.最后数仓储存了大量的历史数据,可以帮助企业分析不同时期和趋势做出相应的对比,从而对未来进行预测。
7.2后续思考
本文更多是偏向技术层面的,其中还有很多没有写到的部分例如数据的复用性等。抛出技术外还有很多值得需要思考的地方,例如在承接数仓建设项目,甲方有五类生产系统,如何制定数仓建设的整体计划,每个阶段性计划应该如何划分,执行技术人员应该如何分配,在执行过程中一定会和第三方厂家沟通让其提供资源以及相关协调问题等等。
7.3意识形态
“学不在多,贵在精熟”,学技术亦是如此,不可贪多。当你可以快速地学习技术时,往往他人也能更快地学到,一直浮于表面,没有深层次的思考。真正聪明的人,会按部就班地去思考,有浅至深,脚踏实地的不断地进步,这样才能有深层次的知识积累。
另外通过本次POC演示环境的搭建,让我感触最多的便是合作的重要性。人与人精诚合作构建成团队,产品与产品合作构建成方案,孤木不成林,团队大于个人,一个团队的力量远远大于个人之力。团队不仅强调个人的工作成果,更强调团队的战绩。每当被领导催问进度,或被指出成果存在不足时,承担的不仅是整个项目的负责人,一荣俱荣,一损俱损,失败的团队没有成功的个人。
以上是关于数据分析平台要点梳理的主要内容,如果未能解决你的问题,请参考以下文章