干货:数据中台的深度思考与总结_第1页
干货:数据中台的深度思考与总结_第2页
干货:数据中台的深度思考与总结_第3页
干货:数据中台的深度思考与总结_第4页
干货:数据中台的深度思考与总结_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

干货:数据中台的深度思考与总结

存儡、受胃.分析引■

RDBMSGreenPlumESHddoopSparkFilnk

I

KafkaHBaseKuduHrveTensor^lowStorm

ADSFTPMongo底

IfUTAJS网络5G网络多元平台混合云为源本她机房

I数据汇聚

数据汇聚是数据中台必须提供的核心工具,把各种异构

网络、异构数据源的数据方便地采集到数据中台中进行

集中存储,为后续的加工建模做准备。数据汇聚方式一

般有数据库同步、埋点、网络爬虫、消息队列等;从汇

聚的时效性来分,有离线批量汇聚和实时采集。

I数据采集工具

CanaLDataX、Sqoop

|数据开发

数据开发模块主要面向开发人员、分析人员,提供离

线、实时、算法开发工具。

|离线开发

作业调度

•依赖调度:所有父作业运行完成后,当前作业才能开始运

行。图64中的作业B,只有父作业A和C运行完成后,才

能开始被调度。•时间调度:可指定作业的调度开始时间。

图64中的作业B,只有到达05:00后才能开始被调度。

基线控制

在大数据离线作业中,作业执行时间较长,经常遇到急

着用数据发现数据还没出来的情况。采用算法对作业完

成时间进行智能预测,根据预测,当作业无法正常产出

且动态调整无法完成时,调度中心会及时通过监控告警

通知运维值班人员提前介入处理,为大数据作业执行留

出充裕的时间。

异构存储

企业内部的存储计算引擎呈多元化趋势。离线开发中心

针对每种类型的计算引擎会开发不同的组件,例如,针

对Oracle开发Oracle插件,针对Hadoop体系分别

开发出Hive、Spark.MR等插件。用户在界面新建各

种作业类型,在执行时自动根据作业的类型寻找相应的

插件来运行作业。

代码校验

对于常见的SQL任务类型,SQL检查器会做好严格的

管控,做到事前发现问题。

多环境级联

通过环境级联的方式灵活支持企业的各类环境需求,方

便对资源、权限进行控制和隔离。每个环境有独立的

Hive数据库、Yarn调度队列,甚至不同的Hadoop

集群。常见的环境如下:

.单一环境:只有一个生产环境,内部管理简单。

•经典环境:开发环境中存放脱敏数据、供开发测试使用,

上生产环境走发布流程,用于真实数据生产。

•任务、资源和函数必须在开发环境下进行新建、修改或删

除,再经过提交、创建发布包、同意发布三个操作后,才能

同步到生产环境。

•复杂环境:企业有外部人员和内部人员,会给外部人员提

供一个脱敏管控的环境,外部人员开发完的数据模型经过测

试后发布到内部开发环境。

推荐依赖

随着业务的不断深入,数据开发人员需要开发的作业会

不断累加。既能保证准确找到需要定位的上游作业,又

能保证不会形成环路。

输出表:tableD

•获取推荐依赖的核心原理在于上下游作业输入和输出的表

级血缘依赖图;

•通过血缘分析当前作业的输入和输出,找到合适的上游作

业;

•对合适的作业进行环路检测,剔除存在闭环的作业;•返回

合适的节点列表。

数据权限

企业内部计算引擎多样化,数据权限管理面临如下问

题:

•部分引擎拥有独立的权限管理系统(例如Oracle.

HANA、LibrA),导致权限申请需要到每一种引擎上单独

操作,让使用变得复杂。

•同一种计算引擎,不同厂商的权限系统有多种,例如

Hadoop自身无数据权限系统,由不同厂商各自去实现,

目前主要有两种策略:

•RBAC(Role-BasedAccessControl):如Cloudera

用的是Sentry,华为的FI也是类似的机制・PBAC

(Policy-BasedAccessControl):如Hortonworks用

的Ranger

•数据权限是由大数据集群或数据库运维人员管理的,开发

人员无法直接操作或者接触,所有的权限申请都需要运维人

员开通,造成运维人员负担过重。在实际开发中,一般需要

运维人员把整个库的权限授权给某个开发负责人,然后库里

面的表、字段、函数的权限管理由开发负责人负责就行。

•数据权限管理中心提供界面化操作,数据申请方直接在页

面上进行各种权限的申请,数据管理方在界面上审核权限,

执行同意或拒绝操作。同时,所有权限的申请、审批都会有

记录,便于进行权限审计。在统一数据权限服务中,会对接

底层的各种权限管理系统,例如Sentry.Ranger.

Oracle,同时对数据权限管理中心提供服务,执行权限的

申请、授权、撤销等操作。

|实时开发

•元数据管理・SQL驱动•组件化开发

|智能运维

任务的管理、代码发布、运维、监控、告警等一系列集

成工具,方便使用,提升效率。重跑、重跑下游、补数

据。

|数据体系

有了数据汇聚、数据开发模块,中台已经具备传统数据

仓库(后面简称:数仓)平台的基本能力,可以做数据

的汇聚以及各种数据开发,就可以建立企业的数据体

系。之前说数据体系是中台的血肉,开发、管理、使用

的都是数据。

中台数据体系应具备以下特征:

•覆盖全域数据:数据集中建设、覆盖所有业务过程数据,

业务中台在数据体系中总能找到需要的数据。

•结构层次清晰:纵向的数据分层、横向主题域、业务过程

划分,让整个层次结构清晰易理解。

•数据准确一致:定义一致性指标,统一命名、统一业务含

义、统一计算口径,并有专业团队负责建模,保证数据的准

确一致。

•性能提升:统一的规划设计,选用合理的数据模型,清晰

的定义并统一规范,并且考虑使用场景,使整体性能更好。

•降低成本:数据体系的建设使得数据能被业务共享,这避

免了大量烟囱式的重复建设,节约了计算、存储和人力成

本。

•方便易用:易用的总体原则是越往后越能方便地直接使用

数据,把一些复杂的处理尽可能前置,必要时做适当的冗余

处理。

不同行业的数据体系建设:

地产行业

应用数据层

精准营销拿地决策供应商评估产品定价…

ADS

标签数据层

客户标签项目标签楼盘标签土地标签供应商标签

TDM

统一数仓层

产品域客户域供应商域财务域营销域客服与售后域

DW

贴源数据层ERPCRM售楼系统物业系统商业管理酒店系统客厂与统小溥在寻优

数据数据数据数据数据数据数括一‘奴器

ODS

证券行业

应用数据层

投资者行为信用业务营销客户画像

ADS

标签数据层

个人客户标签机构客户标签基金产品标签交易对手标签

TDM

统一数仓层

客户域营销域零售经纪域机构经纪域投资顾问域管理支撑域运营域

DW

贴源数据层CRM集中交易融资融券网上交易资产管理风险【'V

ODS数据系统数据系统数据系统数据系统数据系统数据系统数套

零售行业

应用数据层

红包推送营销网人个性推荐

ADS

标签数据层

会员标签门店标签商品标签

TDM

统一数仓层

会员域门店域供应商域商品域订单域财务域营销域日志域渠道域终端域

DW

贴源数据层CRM门店零售管理线上交易库存管理线上日志J?-

ODS数据系统数据数据系统数据数据数据

制造行业

应用数据层

阿米巴运营数字化决策产品质量

ADS

标签数据层

员工标签供应商标签原材料标签

TDM

统一数仓层

客户域工厂域供应商域产品域订单域财务域营销域

DW

贴源数据层CRMWMSERPMES库存管理设备管:/zhjj?等瑟

ODS数据系统数据数据系统数据系统数据系统数据系统数据,

传媒行业

应用数据层

内容推荐精准营销知识运营

ADS

标签数据层

用户标签期刊标签营销标签

TDM

统一数仓层

用户域内容域财务域

DW

贴源数据层内容管理排版流程ERP音频视加一图片

ODS系统数据管理系统数据数据数据二Z“啜裙?

检务行业

应用数据层

公益诉讼相关表刑事检察相关表案件业务相关表

ADS

标签数据层

自然人标签企业法人标签案件标签公益线索标签

TDM

统一数仓层

公益诉讼域刑事检察域民事检察域行政检察域案件业务域

DW

贴源数据层执法信息法院裁判民生互联网群众举报-%.济而酣0

ODS系统数据文书热线数据数据~"-蜓靠坡田

贴源数据层ODS

对各业务系统数据进行采集、汇聚,尽可能保留原始业

务流程数据,与业务系统基本保持一致,仅做简单整

合、非结构化数据结构化处理或者增加标识数据日期描

述信息,不做深度清洗加工。

•表名:ODS_系统简称一业务系统表名

­字段名:与业务系统字段名保持一致,字段类型也尽可能

保持一致•对于数据量比较大的业务表,采用增量同步的方

式,则要同时建立增量表和全量表,增量表命名加后缀:

ODS_系统简称一业务系统表名.delta。

•对于日志、文件等半结构数据,不仅要存储原始数据,还

要存储结构化之后的数据。

使用DataX同步数据步骤:

1)确定业务系统源表与贴源数据层目标表

2)配置数据字段映射关系,目标表可能会增加采集日

期、分区、原系统标识等必要信息,业务相关内容不做

转换

3)如果是增量同步或着有条件的同步部分数据,则配

置数据同步条件

4)清理目标表对应数据

5)启动同步任务,往贴源数据层目标表导入数据

6)验证任务是否可以正确运行,并且采集到准确数据

7)发布采集任务,加入生产调度,并配置相关限速、

容错、质量监控、告警机制

统一数仓层DW

•明细数据层DWD•汇总数据层DWS

与传统数据仓库功能基本一致,对全历史业务过程数据

进行建模存储。对来源于业务系统的数据进行重新组

织。业务系统是按照业务流程方便操作的方式来组织数

据的,而统一数仓层从业务易理解的视角来重新组织,

定义一致的指标、维度,各业务板块、业务域按照统一

规范独立建设,从而形成统一规范的标准业务数据体

系。

•标签数据层TDM

面向对象建模,对跨业务板块、跨数据域的特定对象数

据进行整合,通过IDMapping把各个业务板块、各个

业务过程中的同一对象的数据打通,形成对象的全域标

签体系,方便深度分析、挖掘、应用。

身份信息

客户标签体系

应用数据层ADS

按照业务的需要从统一数仓层、标签数据层抽取数据,

并面向业务的特殊需要加工业务特定数据,以满足业务

及性能需求,向特定应用组装应用数据。

数据资产管理

数据资产管理包括对数据资产目录、元数据、数据质

量、数据血缘、数据生命周期等进行管理和展示,以一

种更直观的方式展现企业的数据资产,提升企业的数据

意识。

数据资产对上支持以价值挖掘和业务赋能为导向的数据

应用开发,对下依托大数据平台实现数据全生命周期的

管理,并对企业数据资产的价值、质量进行评估,促进

企业数据资产不断自我完善,持续向业务输出动力。

I数据治理

传统的数据治理通常包含数据标准管理、元数据管理、

数据质量管理、数据安全管理、数据生命周期管理等内

容。

I数据服务体系

前面利用数据汇聚、数据开发建设企业的数据资产,利

用数据管理展现企业的数据资产,但是并没有发挥数据

的价值。数据服务体系就是把数据变为一种服务能力,

通过数据服务让数据参与到业务,快速开发企业的业务

中台等。

查询服务

输入特定的查询条件,返回该条件下的数据,以API形

式供上层应用调用。

1)支持配置查询标识,底层数据组织一般会对该标识

建立索引,以加快查询速度

2)支持配置过滤项

3)支持查询结果配置,包括数据排序规则和分页规

则。

|分析服务

借助分析组件高效的大数据分析能力,对数据进行关联

分析,分析结果通过API形式供上层应用调用。

1)支持多源数据接入:企业的数据经过清洗加工转换

成数据资产后,最终通过服务作用于业务系统,基于企

业异构存储的现状,要求分析服务能够支持与Hive、

ES、Greenplum.MySQL、Oracle.本地文件等多

种数据源进行连接。

2)高性能即席查询:随着企业数据爆发式增长,传统

的数据分析工具遇到分析能力的瓶颈,也就是对大数据

量的分析越来越乏力。因此,这就要求分析服务内置高

速计算引擎,以对数据进行高性能的即席计算,实现亿

级数据毫秒级(至多秒级)分析和计算,减少用户等待

时间。

3)多维数据分析

分析服务除了支持常规的数据分析、上卷下钻、切片切

块之外,还应该支持多维的数据分析以及深层次的数据

挖掘,发现数据背后的关联关系。

4)灵活对接业务系统

|推荐服务

按约定的格式提供历史日志行为数据和实时访问数据,

推荐模型就会生成相应的推荐API,从而为上层应用提

供推荐服务。

推荐服务即所谓的千人干面,对不同的人对物的行为进

行数据挖掘,构建每个人与物之间的关系程度,来推荐

人、物以满足用户的兴趣爱好,以提升用户对业务的粘

性。每个人打开手机淘宝看到的内容都不一样,这就是

一种基于人的兴趣爱好的推荐服务能力。

1)支持不同行业的推荐:不同行业背后的推荐逻辑是

有区别的

2)支持不同场景的推荐:以内容资讯为例,在用户冷

启动场景下,应该推荐哪些资讯?在用户已有浏览行为

的场景下,又该为其推荐哪些资讯?

3)支持推荐效果优化:从导入的原始数据开始,经过

推荐组件生成推荐数据,再根据用户的浏览数据不断修

正推荐模型,从而使推荐效果不断优化

|圈人服务

从全量用户数据中,基于标签组合筛选符合指定特征条

件的人群,并通过API形式供上层应用调用。

1)支持人群圈选:通过SQL代码或标签取值组合等多

种方式,实现人员查找,帮用户找到对的人群

2)支持人群计量:营销部门或者广告公司使用圈人服

务圈选出目标人群后,往往还要考虑人群量是否符合预

期,因为预算有限,不可能不计成本的对人群进行营

销。

3)支持多渠道对接:将人群名单导出到相应的下游系

统。最简单的名单导出方式是先下载文件,再由业务人

员导入相应的业务系统中。或者直接对接到短信系统、

微信投放接口、营销活动系统等。

离线平台

苏宁离线平台产品功能图:

镁开发

新建编辑删除图形化可视化即时编辑实时生效资源上传下载

复制任务导入导出大任务流自助拆分丰富彳窃参数

任务分类管理SQL解析任务模板样例搬丰富任务类型

帮助手册任务交接根据血缘信息,自动建立任务依赖关系

____________________fE务运维

上下线失败重试杀死

忽略失败,ms调度状态自助分析操作日志崛

任务链依赖分析任务发布管理任务异常自助诊断知识库建立

任务运行分析任务优化建议任务监控和告警任够脑1崛

11

苏宁调度模块功能图:

调度方式调度执行计划工作流的敢放

定时分片DAG静态计划动态计划静态显式定义动态隐式定义

、业依赖1系依赖策略

任务依赖数据依赖时间依赖

_流控策略

执行时间任务组并发

彳镑牺系统级内部控制

任务的提交来源

调度类型资源使用情况

调度高可靠性隔离对外API

定时领提前领ilim联公共资源夕陪15资源状态发布

辍级资源黑白名单幅冲峨3ng

HA主备分布式集群安全性

苏宁离线平台整体架构图:

跨任务流依赖的实现:

FTP事件机制,即在FTP服务器上建立标识文件,一

个事件对应一个标识文件地址,当FTP服务器上的标

识文件生成的时候,我们认为业务系统已经完成作业,

需要触发平台任务执行。

"华佗"平台,实施任务诊断:

2c数的:61DE若委任务设计掰霰中心运笫中心HJREe®RBWe系箍配百频*W>,

2018-11-0117:10^4

比历史早均/

££»«a平白运行徉禽

ApproSOtflAOBXJWGENiAfrttS

w*atior.l53201I-U-0117:1

工博

&»ttW9154924^0.107L,2018-11-0117:11^6SUCCHDED

W88®

wesai

^18-n-oi侬

2018-11-0117J2:26SUCCEEDED

LSB

Q施作日芯599707

4p|dic«tion.lS3

运维&・申蕾2018-11-4117:2*0

91S4928300.102018-11-01X724^»6SUCaEDED

3:52ma日本

400325

•ppIkAtion.lSJ

#154928200.10凿…声—awSUCCEEDED

596129

4ppJlc<ition_153

2018-11-0117J口得

WM928200.10201S-110117^3>46SUCCHDED

3:19iXaEe

M01M

«ppiicMion_153^MWWt,«>W-

2018-11-0117:1

91MW8200.102018-11-011M«C05SUCCEEDED[JW»)gwiJu*

1:22*>।产?专

5965a、Cznisneng

&中icati8」,3

201B-11-0117il____________________

9154928200.10瑞“5x-2018-lt-Ol1721:53SUCCEEDED

4Q7Qg

立即触发的任务,放入DelayQueue的队列头部,周

期调度的任务,使用Quartz,依赖触发的任务,使用

zk,各个子节点监听自己的父节点,所有父节点执行完

毕则可触发执行

|实时平台

美团点评

^01ApacheFlink

监控报警链路

日志指标收集

蜿TL集中化

解析展示

多mT式防itM合工

监控报詈o

ApacheFhnk中文学习网站:eEus:(二Zhj二92ng

OApachaFlickCommuAftyOwn*产*Q业用途

使用了Grafana,可以内嵌到自己的平台。

bilibili

•SQL化编程

•DAG拖拽编程

•一体化托管运维

实时平台由实时传输和实时计算两部分组成,平台底层

统一管理元数据、血缘、权限以及作业运维等。实时传

输主要负责将数据传入到大数据体系中。实时计算基于

BSQL提供各种应用场景支持。

如下图所示,实时传输有APP日志、数据库Binlog.

服务端日志或系统日志。bilibili内部的Lancer•系统

解决数据落地到或计算体系主要围绕

KafkaHDFSO

Saber构建一套BSQL,底层基于YARN进行调度管

理。

上层核心基于Flink构建运行池。再向上一层满足多种

维表场景,包括MySQL、Redis、HBaseo状态

(State)部分在RocksDB基础上,还扩展了

MapDB、RedisoFlink需要10密集是很麻烦的问

题,因为Flink的资源调度体系内有内存和CPU,但

10单位未做统一管理。当某一个作业对10有强烈的需

求时,需要分配很多以CPU或内存为单位的资源,目

未必能够很好的满足I。的扩展。所以本质上bilibili

现阶段是将I。密集的资源的State转移到Redis上

做缓解。数据经过BSQL计算完成之后传输到实时数

仓,如Kafka.HBase.ES或MySQL、TiDBo最终

到AI或BL报表以及日志中心。

FLINK2

FORWARD*

平台架构

Theplatformarchitecture

zhisheng

场景

・AI工程方向,解决了广告、搜索、推荐的流式Joiner和

维表Joiner

•实时计算的特征支持,支持Player以及CDN的质量监

控。包括直播、PCU、卡顿率、CDN质量等;

•用户增长,即如何借助实时计算进行渠道分析、调整渠道

投放效果;

•实时ETL,包括Boss实时播报、实时大屏、看板等。

网易

目前网易流计算覆盖了绝大多数场景,包括广告、电商

大屏、ETL、数据分析、推荐、风控、搜索、直播等。

事件管理

对于分布式平台的任务操作而言,当前任务启动过程中

只允许一个人操作,而不允许两个人同时操作,这就需

要以下几个模块来共同配合:

•Server:事件执行的发起者,接受事件的请求,进行数据

校验,拼装,将事件发送给Kernel执行。

•Kernel:事件具体逻辑的执行者,根据请求向集群发送指

令(Shell脚本方式)。

•Admin:事件执行结果的确认者,根据事件类型,获取事

件的最终结果,保证结果的正确性。

FLINK飞

FORWARD^

事件管理

Eventmanagement

事件包括任务的启动和停止两个操作,由Server.

Kernel,Admin三个模块共同完成

Theeventincludestwooperationsoftaskstartandstop,

whicharecompletedbythreemodules:Server,Kerneland

Admin

Server:事件执行的发起者.接受事件的请求,进

行数据校验.拼装,将事件发送给kernel执行

Server:Theinitiatorofeventexecution,acceptstherequest

oftheevent,performsdataverificationandassembly,and

sendstheeventtothekernelforexecution

Kernel:事件具体逻辑的执行者,根据请求向集群

发送指令(shell脚本方式)

KernekTheexecutoroftheeventspecificlogic,sends

instructionstotheclusteraccordingtotherequest(shell

scriptmode)

Admin事件执行结果的确认者,根据事件类型,

获取事件的最终结果.保证结果的正确性

AdminTheconfirmeroftheeventexecutionresult,obtains

thefinalresultoftheeventaccordingtotheeventtypeto

ensurethecorrectnessoftheresult

以启动场景为例:

首先,Server会接收到来自用户的启动请求,之后会

创建一个分布式锁,Admin会监控这个锁。

然后,Server向Kernel提交任务,提交之后会立即

返回,返回之后就会立即更新数据库中的状态,将状态

更新为启动中,这样在页面上用户就能够看到任务是启

动中的状态了。

接下来,Server就会等待内核的Shell脚本的执行结

果,如果Shell脚本执行成功了,就会去写

Zookeeper,写完Zookeeper之后Admin模块就

会马上检测到Zookeeper节点有状态发生了修改,

Admin会立即去获取YARN上的任务状态,如果获取

到任务状态是运行中,就将数据库的任务状态更新为运

行中,这会在前端看到任务就已经是运行状态了。

最后一步是Admin更为完数据库之后,会释放掉

Zookeeper上的锁,其他人这时候就可以操作这个任

务了。

Server.Kernel和Admin这三个模块都是不可靠

的,那么如何保证其稳定和高可用呢?Server可以通

过部署多个,水平扩展来实现,Kernel则会由Server

来进行监听,当发现Kernel挂了,可以由Server重

新拉起或者重新创建。而Admin的高可用则是通过热

备来实现的,如果主Admin挂掉了,可以马上迁移到

备Admin,备Admin可以迅速将元数据以及任务信

息全部加载进来接替工作,进而实现高可用。

平台任务状态管理

平台的任务状态主要由Server和Admin来控制。

Server主要控制初始状态的执行,Admin则主要负责

控制所有与YARN相关的状态交互。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论