作者:郑锴 - 阿里云高级技术专家,张晨晖 - 阿里云产品专家
最近几年数据湖热度很高,当搞大数据的同学聚在一起时候,经常会谈到这方面的话题,可能有的同学说“我们在做 Hudi 数据湖,你们用 Delta 还是 Iceberg?”,也会有同学说“我在阿里云上搞了一个OSS数据湖”、“什么,你们数据湖用 HDFS?”、“我们在阿里云上搞 JindoFS,优化数据湖”、“最近搞了个湖仓一体”等等的讨论。
数据湖的相关讨论可以说是千人千面,每一个技术同学面对数据湖的时候,根据自己不同的工作背景,都可能有自己不同的理解,那么,数据湖到底意味着什么呢?可以先了解一下数据湖的三要素。
数据湖核心三要素 :
1、包罗万象的数据
- 不是指数据库,也不是数据仓库;
- 而是指各种数据,包罗万象。非结构化数据、半结构化数据和结构化数据。
2、理想的存储
- HDFS? 不是。
- 对象存储?It depends。
- 实际上,公共云对象存储才是。
- 为什么?海量,弹性;分层、归档,低成本;安全,合规。
3、开放的计算
- 数据广泛可触达,充分挖掘价值。
- 丰富和开放的计算,不止 BI,AI。
- 针对计算场景的优化、加速,性能不打折扣。
那么到底什么是云原生数据湖呢?
从理念上来讲,就是按照云原生的理念构建出来的数据湖存储系统。运用数据湖构建产品快速搭建出来的,基于oss对象存储系统挖出来的数据湖。然后基于这样的诉求,我们可以做BI和AI的分析。那么我们以阿里云上的云原生数据湖为例,可以看下云原生数据湖的上云途径。
可以看到,我们可以利用阿里云数据湖构建Data Lake Formation 、统一的对象存储OSS快速搭建出一个数据湖。
那么利用这个数据湖,我们可以用数据集成DateHub和 Data Lake Formation 提供的数据入湖的手段,把各种数据源做数据入湖的处理。那么我们最主要的业务目的是什么?是利用上面各种开放丰富的计算来做分析。
我们提供了阿里云自研的MaxCompute这种分析产品,还有E-MapReduce这个开源大数据全家桶的分析产品,来做BI的分析。我们可以利用阿里云的PAI、EMR DateScience 这种AI的套件来做AI的智能分析。
我们刚才说了这个计算是非常开放以及丰富的,如果你在阿里云上有一个自建的Hadoop,或是CDH这种集群,同样可以对接到数据湖,然后进行分析。战略上面我们还合作了大量的第三方产品,比如Databricks数据洞察,同样可以对接到数据湖进行分析。
接下来,我们再来看一下数据湖的构建和分析的过程,我们提供了怎样的支持。以下讲的是数据湖构建,我们专门提供了这样的一个数据湖构建产品Data Lake Formation。
阿里云
2021阿里云开发者大会
ALIBABACLOUDDEVELOPERCONFERENCE
DataLakeForamtion构建数据湖
数据湖计算引擎
元数据管理
Databricks
PAI
E-MapReduce
MaxCompute
MC-HOlogres
统一元数据管理,解决元数据多引擎致性问题
Datalnsight
自动生成元数据,降低使用成本
DataLakeFormation
元数据管理
访问控制
元数据抽取
元数据发现
元数据编目
集中数据访问权限控制,多引擎统一集中式赋权
数据访问日志审计,统计数据访问信息
访问控制
访问权限控制
访问日志审计
数据入湖
支持多种数据源入湖,MySQL,LogService,TleStore
数据入湖
Kafka等
多数据源入湖
离线/实时入湖
数据预处理
MySQL,日志服务(SLS),表
离线/实时入湖,支持Delta/Hud等多种数据湖格式
支持Delta/Hudi格式
自定义UDF,ETL流程
格存储Tablestore等
数据入湖预处理,支持字段mapping/转换/自定义UDF操作
数据湖存储OSS
它的核心就是维护数据湖的元数据,数据湖不光是包括数据本身,还包括数据的元数据。数据的元数据是在Data Lake Formation中,统一管理和存储的。好处是避免了各个计算产品自己来维护文件的元数据所带来的不一致性。统一集中来管理的话,我们还可以做集中的访问控制上的权限或日志审计。Data Lake Formation对接的各种数据源,比如MySQL、Kafka等,提供了离线和实时入湖的方式。目前我们对接的数据湖的格式,有Delta和Hudi。
接下来重点讲解一下,我们在分析产品上,利用开源大数据分析的套件E-MapReduce来做数据湖分析。
EMR其实是一个开源大数据全家桶的产品,以上只是列出了数据湖分析上的相关支持。在分析引擎和OSS数据湖之间,我们还提供了数据湖加速的支持。我们有了Alluxio这种开源的加速器,同时也有自研的JindoFS加速器。JindoFS对OSS数据湖我们提供了全面对接开源分析引擎的支持。
整个EMR的产品可以run在ACK上,也可以run在ECS上面,利用ECS和ACK的弹性伸缩的能力,我们让整个数据湖分析变得低成本。
百阿里云
2021阿里云开发者大会
ALIBABACLOUDDEVELOPERCONFERENCE
性能优化,JindoFS&JindoTable双加速
AI
Hive
Presto
JindoTable
JindOFsSDK
Jindofuse/Py
NatveEngine)
Jindo加速层
JindoNative&Cachelayer
JndoFs(odk&coche&blodu)
spark
AliyunOSs
IMe
JindoFS缓存加速
Jindo
JindoSDK
NomespaceService
支持主要开源计算框架,且对框架透明
BlocklocatonOps
无需修改用户的OSs使用方案
Wnte/readLocalcachedblock
高可用架构,支持AutoFailover
JindoStoraqeService
JindoStorageService
高效支持K8Fluid框架训练加速
LocalSiorage
LocalStora9e
Wnte/readdossobject
HDD
SSD
HDD
DRAM
JindoTable计算加速
内置NativeEngine查询加速,支持scanlte算子下推
同时支持Spark,Hive&Presto
支持列存格式:Parquet,ORC
刚才提到,在EMR产品套件中,有了数据湖加速的这一层次,接下来重点讲一下JindoFS和JindoTable双加速的能力。
JindoFS主要是在文件系统层面,利用计算侧的磁盘资源,对远端的OSS数据做缓存加速,从而大幅度提升Hive、Spark、Presto的分析处理能力。JindoTable和JindoFS相当于是相互配合,它主要是在表分区这个层次上面,去做缓存去做加速。然后对Parquet、ORC这种格式做了Native的优化,从而更进一步提升了上面提到的分析引擎的处理能力。
百阿里云
2021阿里云开发者大会
ALIBABACLOUDDEVELOPERCONFERENCE
成本优化,JindoFS&JindoTable分层和归档
Hive冷热分层
以HDFS单副本10PB
CIYE
每天partition数据50TB
Cache数据:10%
高频率查询1-2周
0.02元/GB/月
ECS本地盘
<7天partition
0.12元/GB/月
最近1月数据偶发查询
oSs标准型
20%
最近30天partition
0.08元/GB/月
OSS低频型
部分3月数据季报
20%
部分1年数据年报
最近300天partition
0.033元/GB/月
OSS归档型
冷数据
60%
>300天partition
0.015元/GB/月
OSS深度归档
以HDFS单副本10PB
OSS数据湖方案
125万/月
HDFS本地盘方案
65万/月
除了性能优化,我们知道数据湖还需要做成本优化,因为里面保存了大量的数据。JindoTable和JindoFS同样互相配合,我们做了分层和归档。利用OSS的基础能力,我们维护数据的热度、冷度,然后通过Jindo的相关命令,可以对数据进行缓存、归档和分层这些功能。利用分层的能力,我们可以看到假定一个用户,如果它有10PB的数据,以HDFS这种方式来做存储方案,成本会达到上百万。但如果我们换用OSS数据湖的方案,我们可以把大量的冷数据放在归档,整个存储成本可以大幅度降低。
接下来,我们来看一个数据湖的最佳实践。来源于上海数禾科技的大数据架构师程俊杰先生的一篇在阿里云社区分享的案例文章。以下经过他的同意,对他的文章进行了一些摘要和加工。
一阿里云
2021阿里云开发者大会
ALIBABACLOUDDEVELOPERCONFERENCE
数未一云上数据湖最佳实践
前就地每了大城了大给,雅上自的boha群但公司,
长超他色如口分折聊服,出
力,为了减Coudeg集群的庄力,我们结合自身业劳情况.在阿里云上落地一个适合数未当前呗实忧的数湖.
储翻点我起世领面叫他,里平凌,大平
阿里云湖仓一体
某云
阿里云数据湖设计
阿里云EMR治理
阿里云OSS治理
统一存储和元故据管理
数掘湖构民
调恐EMR预伸缩时间
数仓ODS多版本福治理
多EMR多OSS桶
更改EMR弹性伸缩屯略
数仓日志机治理
冬样化入潮楼版
云上自建CDH
EMR萝性伸缩
EMR机器组的选挥
数仓桶和牛市桶治建
数据湖元故据管理
云上添合架构CDH+EMR
数据鉴权和脱效
购买R预留抵扣券
监控桶内对家
监控告警管理
打通MaxCompute访问
百阿里云
Tips:数据湖的设计,构建,分析和治理是一个循序渐进的过程
https://developer.aliyun.com/article/781803
开发者社区
上海数禾科技在某云上面使用的是CDH+EMR,云上混合的架构。它迁移到阿里云之后,是按照数据湖的理念做的设计,充分考虑到他们不同的业务需求,以及权限控制和脱敏相关的部分。
经过过去的一年,他们在成功地迁移到阿里云数据湖架构上之后,又做了EMR的治理和OSS的治理,这些治理方面的经验在文章里面都做了大量的分享。最近他们又升级到了湖仓一体的架构,把元数据用Data Lake Formation来统一管理,然后组合使用EMR和MaxCompute等多个阿里云计算产品来对数据湖进行分析。
以上是数禾在阿里云上面的数据湖架构,我们可以看到它在OSS的数据湖上面,其实有多个Bucket。在这上面,利用JindoFS提供的OSS透明的缓存加速能力,然后有多个EMR集群分别去按照不同的业务诉求来做分析。面对这么多集群,他们的调度是用的目前比较流行的大数据调度平台Airflow。
刚才提到,数据湖的一个非常大的价值是把存储成本和计算成本降下来。计算成本其实主要是靠弹性伸缩来降。在EMR里面,可以去设置弹性伸缩策略和弹性伸缩规则。弹性伸缩规则结合YARN的调度能力,可以看到什么时候该扩集群,什么时候该缩集群。包括提前伸缩的时间都可以做设置,真正的做到需要多少,就用多少。把计算成本降到最低。这个跟好几年前做的Hadoop集群实战,是完全不一样的。
以上主要介绍了如何构建云原生数据湖,那么如此多的数据结构化、半结构化、非结构化的存储在你的数据库和数据仓库里,这么多的数据应该如何来管?先来看一看企业在管理数据的过程中又面临哪些问题?
1、数据孤岛:
- 数据不集中,重复存储,重复计算
- 数据上云门槛高,数据存储成本高
2、数据开发和运维成本高:
- 自研数据平台难度大,成本高
- 开源工具扩展性,稳定性难以保证
- 数据质量,运维成本难以匹配业务快速增长需求
3、数据共享应用不易
- 数仓中的数据对各类BI或应用不便
- 数据存储分散,分布在数仓,数据湖,数据库中
- 数据难以共享和统一管理
4、大规模数据难以治理
- 随着数据规模的不断增大,数据治理越发难以进行,数据质量、监控、安全逐渐成为瓶颈
针对这些问题,阿里云的DataWorks产品提供了一站式的数据开发治理的能力。
百阿里云
2021阿里云开发者大会
ALIBABACLOUDDEVELOPERCONFERENCE
智能大数据开发及治理平台DataWorks产品架构
开放平台
OpenAPI/开放平台
数据服务
统一数据服务
数据质量
智能监控
数据地图
数据治理
数据安全
数据交换
资源优化
离线开发
交互式分析
实时开发
机器学习
图计算分析
数据开发
智能插件化集成开发环境XStudio
任务调度
统一任务调度服务
元数据中心
统一元数据服务
数据集成
数据转换
批量同步
整库迁移
增量同步
实时同步
RealtimeCompute
Hologres
E-MapReduce
CDH
MaxCompute
GraphCompute
交互式分析引擎
开源大数据平台
开源大数据平台
实时计算
图计算引擎
大数据计算服务
计算存储引擎
DB
OSS
DLF
HDFS
它构建于不同的计算和存储引擎之上,包括阿里云自研的大数据服务MaxCompute,开源的大数据平台EMR/CDH,支持实时计算、图计算,交互式分析。它构建在OSS 、HDFS、DLF之上湖仓一体的体系下,为大家提供实时离线的数据集成、数据开发,并且通过统一的调度任务和统一的元数据服务,为大家提供了各种各样的数据治理的能力。包括数据质量,智能监控,数据地图,数据安全,资源优化等。通过统一的元数据服务,为企业提供从数据平台到业务系统最后一公里的能力。
最后我们可以通过open API把我们整个平台开放给客户,也就是说您可以在不看到DataWorks界面的情况下,深度集成整个DataWorks的产品能力。
那这样一款产品它哪些核心能力呢?可以概括为以下几点:
- 数据集成
- 数据开发
- 数据治理
- 数据服务
首先,它通过数据集成实现了数据的入仓入湖。第二,数据在进入了我们的系统之后,数据开发它会通过支持多引擎的能力对这些数据进行精细化的处理和开发。第三,数据治理在基于多引擎湖仓一体的体系上提供统统一的元数据服务,使您对您的数据可以实现更易用和可用性。最后,通过数据服务使这些数据可以一站式的直达到你的系统中。
2021阿里云开发者大会
阿里云
ALIBABACLOUDDEVELOPERCONFERENCE
数据集成支持的数据源
数据实时同步入仓,入湖
大数据存储
关系型数据库
MaxCompute
Holoqres
ZSearch
ElasticSoarch
SQLServer
Oracle
MySQL
PostareSQL
RDS
DB2
AnalyticDBforPostqresSOl
DRDS
HBase
Vertica
Hive
Lindorm
GBase8a
TDDL
AnalyticDB
PolarDB
RDBMS
OceanBase
OpenTSDB
MongODB
Prometheus
Memcache
lnfluxDB
TableStore(OTs)
CllckHouse
BigQuery
Cassandra
HybrdDB
SAPHANa
DM
读
写
MAXGraph
OpenSearch
Redis
GraphDataBase
9
HDFS
LZO
RC
OSS
FTPISFTP
Katka
Stream
bz2
CSVITSV
Parquet
ORC
SequenceFile
DataHub
LogHub
Metan
Zip
GziP
非结构化存储
消息队列
我们首先来看一下数据集成,我们这里一共提供了50多种不同类型数据之间的相互的同步,比如说关系型数据库、大数据存储、消息队列以及非结构化的数据,而且同时我们提供了离线和实时的入仓和入湖。
阿里云
2021阿里云开发者大会
ALIBABACLOUDDEVELOPERCONFERENCE
DataWorks全链路数据开发平台
加工层
分析/服务层
汇聚层
数据源
新典装安(健料亡步)
大屏展示
DAtaWorks
业务数据一离线源
DataWorks
交互式分析开发
(Holostudio)
数据报表
Dataworks
DataWorks
离线/实时数据开发
实时数据开发
画像分析
(DataStudio)
(StreamStudio)
多引擎,湖仓一体
Flink
DataWorks
莱典签(张密亡步)
业务数据一实时
交互式分析
Hologres
DataWorks
数据服务
MaxComput
实时数据处理
大工
EMR
数据API
CDH
DataHub
数据API
实时数据传输
oSS
数据API
当我们的业务数据通过数据集成进入到我们的计算和存储引擎之后,DataWorks提供实时离线的开发,通过支持多引擎的能力以及跨引擎之间的相互调度的能力,根据各种引擎的性能,你可以选择最优的最合适你的调度引擎,把它们集合成一个整体,对这些数据进行处理和开发。最后这些数据通过我们的数据服务提供给各种BI的分析的工具来展示数据报表和图像的分析。
上图也是一个简单的基于EMR的数据开发的调度的价格图。我们可以看到它可以支持EMR的不同类型的作业,同时我们还支持一系列的逻辑业务节点,通过支持这些逻辑业务节点,我们可以支持循环、顺序、分支、跨地域、依赖等等,并且提供这种按日的千万级的大规模的调度来符合企业这种复杂的逻辑业务结构。
这些数据经过了精密的数据开发的基础上,随着企业业务的不断发展,数字化转型的不同阶段,那么大家对数据治理也呈现了不同层次的不同类型的需求,我们在数据实时的正确产生的基础上,我们对于数据整个的共享性、易用性,好理解,数据安全,敏感数据识别等等,以及你的成本优化,都有了一些更高层次的需求。
那么DataWorks在各种各样的数据治理的需求方面,又提供了哪些能力来可以帮助你的企业管理数据、治理数据呢?
2021阿里云开发者大会
百阿里云
ALIBABACLOUDDEVELOPERCONFLRLNCL
DataWorks数据治理:运维中心&智能监控(1/2)
基线监控
告警
任务运维
移动运维
丰富的告警方式
复杂工作流的全链路
移动端处理常用任务
支持任务状态全局查看
监控告警快速配置
短信
支持离线&实时任务
的运维操作
邮件
钉钉小程序
支持丰富的实例类型
智能感知关键路径的
钉钉群
阿里云App
支持丰富的运维操作
动态变化
电话
任务运维诊断功能
自动评估影响面和通
知
5,成本
1,时效
3,可用
2,质量
4,安全
首先在时效性方面,我们有一个全方位的运维和智能监控系统,并且通过各式各样的比如说短信、邮件、钉钉、电话来以及移动运维对你进行及时的告警,使您可以在任何地方的任何时间,只要打开你的手机,就可以对你的线上任务进行及时的处理。
百阿里云
2021阿里云开发者大会
ALIBABACLOUDDEVELOPERCONFERENCE
DataWorks数据治理:运维中心&智能监控(2/2)
告警时间
配置难度
监控数量
监控告警的痛点
为每个任务配置监控规则极为繁琐
监控所有任务是不现实的
每个任务所需告警的时间都不同
30min
4:30
5:00
120min
45min
60min
D
智能监控核心功能
C
5:00
C
B
6:00
20mih
10min
30min
6:00
智能识别关键路径,合理设定告警闸值
E
G
6:30
任务异常产生事件,自动评估事件影响范围,
60min
6:30
通知相应人员
8:30
灵活告警方式配置,支持钉钉群机器人,电话
50min
30min
Dataworks独创,荣获国家专利的智能基线监控技术
2,质量
3,可用
1,时效
5,成本
4,安全
以上可以看到,这是一款DataWorks独创的,并且已经获得了国家专利的智能基线监控技术。可以看到上图的K节点,你只要关心你整个数据最后产出的节点,而无需关注它的上游节点,DataWorks会非常智能的帮你搜索遍历它的上游节点,并且找出它的关键路径,在关键路上的每一个节点设置相应的智能监控和告警,这样就可以提前的发现问题,及时干预。
我们这里提供30多种的内置模板,并且提供自定义模板的设置,可以让你对你的任何一张报表根据你的规则设置它的校验规则,同时它跟刚才的数据开发流程其实是紧密结合的,也就是说你在你的任意一个业务节点,对你的任意的一张表可以设置相应的规则,当你的任务会调度到这个节点的时候,这个规则也同时被触发。你也可以根据不同的级别来设置各种各样的报警,甚至去阻塞下游业务,这样就可以防止脏数据的产生。
数据在已经以高质量、高效生成的基础上,DataWorks提供对湖仓一体不同引擎的元数据的统一的采集以及管理。基于这些统一采集管理的原数据,就可以提供全域数据的检索,数据详情的分析、数据的热度、数据的产出信息以及非常精确的血缘关系。基于这样血缘关系,你可以对数据进行溯源以及进行各种各样的数据分析,你的数据就会变得更好理解,更好用更好查找。
百阿里云
2021阿里云开发者大会
ALIBABACLOUDDEVELOPERCONFERENCE
DataWorks数据治理:数据全生命周期安全过程管理
全生命周期的保护能力覆盖
数据交换安全
数据处理安全
数据传输安全
数据存储安全
数据分级分类
下载管控
存储加密
精细化数据授权管控
角色访问数据源
数据脱敏
数据备份
敏感数据发现
数据源访问控制
风险行为暴露
数据接口鉴权
规范化开发流程
数据水印
数据通用安全
Kerberos/LDAP
RBAC权限模型(自定义)
租户隔离
操作行为审计
认证管理,角色登录认证(RoleBase_sso)
4,安全
2,质量
1,时效
3,可用
5,成本
我们除此以外还提供了一个全链路的数据安全的保护。数据安全领域我们提供了租户隔离Role Base的权限管理,操作行为的日志,并且跟开源的Kerberos/LDAP是打通的。除此以外,对整个数据的开发链路其实也是有一个全链路的安全保障的,从数据传输开始,比如说我们可以对数据传输数据源的访问进行控制,在数据存储的过程中可以进行存储加密,数据的备份和恢复,在数据处理的过程中可以进行更细力度安全管控,随后的数据交换数据下载,然后会进行相应的接口的鉴权,以及进行数据脱敏的处理。
百阿里云
2021阿里云开发者大会
ALIBABACLOUDDEVELOPERCONFERENCE
DataWorks数据治理:资产盘点和资远优化
全局资产和成本盘点.基于元数据智能分析,洞察资源浪费,助力成本节约
全局资产和成本盘点
多领域分析优化
数据表总量,趋势和分布
数据存储
数据存储总量,趋势和分布
数据计算
成本总量,趋势和分布
数据采集
全局视角&个人视角
基于引擎和平台全方位元数据智能分析
生命周期,空表,无效表
冲突任务,数据倾斜,暴力扫描
空表导入,持续一致导入,同源导入,SS同步优化
1,时效
5,成本
3,可用
2,质量
4,安全
企业的资产随着数据量的逐渐的增大,那么企业对资产的管控也需要需要有越来越高的需求。DataWorks在基于以前数仓的基础上,也逐渐的把它拓展到刚才我们讲的整个的数据湖场景,它可以基于湖仓一体,逐步把整个企业全域的资源盘点和规划,优化给到客户,使成本得到非常精良的控制。
下面我们以EMR为例子,看一下在EMR这个产品上,到底是怎样深度结合,进行全域的数据开发和治理的。
某一个游戏厂商,它的数据进入了阿里云的整个系统之后,进入EMR集群先进行消息队列,然后进入EMR集群进行相应的计算和处理,通过实时计算、交互式分析,最后给到用户大数据的BI的展现。
我们可以看到在整个链路过程中,DataWorks会与整个我们链路的各种各样的数据存储和计算引擎进行深度的结合,在全链路去cover整个数据开发和治理的过程。
2021阿里云开发者大会
阿里云
ALIBABACLOUDDEVELOPERCONFERENCE
EMRDemo
DataWorks
on
无病楼式
setting-cn-shanghaidatayunc
周设才单
月甲里输
简尚掉梦
项目
支的数家有数家
阿甲云内部文档
楼权用户及版程筒.
惠国
项目管理平台
hhbjO9910C1O
DataWorks
hhbapoortoamo
新增EMR集群
工检空oh
实利银易名称:
棉过管理
特东上为)
地:
极限列表
访问模式:
快富楼式
ManConqute高透
快康棒式
微被被装理
生产环境
开发环境
安会婚式
CDH售即配雪
基编信息
基继信息
?
阿中云主号0阿用云子账号
任务快行品
*请身份:
调安访问身份
温智增:请对同身价意号,空问内相关开发人员
温零增啤:对时用身赔号,空间内相关开发人员
号楼AurfMRDmrttoneoes羊略,以豪保
账号楼权AUEMRDactooNcoess置,以碑保
EMR奖任务可以成功醒交至MR要影.
EMR任务可以成功提交至EMR掌群.
引值息
引二价
荤料I:
捷HID
成选解
项月ID
项目ID
YARONEEMU列H
detautt
以上是一个简单的demo,大家可以看到DataWorks在EMR上,我们是怎样进行集成的。(具体相关的介绍可以在文章开头戳视频链接,观看具体讲解)
最后总结一下,DataWorks在湖仓一体的基础上,支持多引擎,提供一个全域的数据开发和治理的平台。通过这款产品可以帮助企业最终实现您的一切业务数据化,一切数据业务化的功能。
对数据湖感兴趣的同学欢迎扫码加入以下钉钉交流群,不错过每次直播信息、探讨更多数据湖 JindoFS+OSS 相关技术问题!
后续我们会也在EMR钉钉群定期推送精彩案例,邀请更多技术大牛直播分享。欢迎有兴趣的同学扫下方二维码加入钉钉群进行交流和技术分享。关注公众号,锁定每周精彩分享内容!