小米数据湖一体化智能治理实践_第1页
小米数据湖一体化智能治理实践_第2页
小米数据湖一体化智能治理实践_第3页
小米数据湖一体化智能治理实践_第4页
小米数据湖一体化智能治理实践_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

小米数据湖一体化智能治理实践DataLakeGovernance多湖表格式治理挑战01一体化智能治理实践02总结与展望03目

录C O N T E N T S多湖表格式治理挑战现状小米数据湖平台集成了

Iceberg、Paimon、Fileset

等多种数据湖格式,以满足多样化的用数需求。目前已管理

10万+

表格、百PB

数据,日均产生

40万+

优化任务离线场景实时场景AI

场景FilesetPaimonIceberg10w

+

表格百PB

数据日均40w

+

优化任务挑战随着数据规模和湖表格式的增加,我们的治理体系也面临了诸多挑战元数据访问接口不统一,随着湖表格式增加,访问将越发复杂治理需求更加多样化,对智能识别能力提出了新的挑战治理链路不断扩展,运维监控日益复杂,亟需统一的调度执行体系一体化智能治理实践治理体系全貌DataLake

Governance

通过

Gritino

访问湖表元数据,针对所有表智能产生优化任务,再交由具体的组件执行IcebergPaimonFileset...GritinoDataLake

GovernanceSpark

JobMap

ReduceHDFS...湖表格式元数据访问任务产生调度任务执行Gritino:

统一元数据访问接口元数据管理组件多样,需开发和维护各种的访问接口。随着湖表格式增多,系统变得臃肿。依赖多个外部服务状态,系统稳定性降低,运维压力增加。IcebergPaimonFilesetHMSHDFSRDBMSGritino:

统一元数据访问接口Apache

Gritino

一种是高性能的元数据湖。统一的元数据访问

API

√统一的访问控制 √屏蔽了底层存储的差异

√智能治理:提供多样化治理能力Iceberg

治理需求Iceberg

Snapshot、Manifest、Data

File

等不同层级的文件对于每一层级,都需要进行治理,使得表达到健康的状态Snapshot过期快照清理ManifestsRewrite

ManifestsData

File小文件合并,Z-Order

聚类…Orphan

Clean智能治理:提供多样化治理能力Iceberg

治理需求-

文件治理小文件合并Z-Order聚类目的减少HDFS

压力、提高MOR

表格的查询效率提高表格的查询效率资源要求低(简单重写,不需要进行排序)高(需要排序后重写)触发条件文件数量超过阈值后触发基于规则触发适用对象小文件较多的表或者MOR

的表格基于查询模式筛选的表Z-Order

聚类相较于直接合并文件,需要消耗更多的资源,因此我们设置了一定的规则进行触发智能治理:提供多样化治理能力Iceberg

治理需求-

Z-Order

聚类收集表查询次数SumQuery1Query2...QueryNField1>

X1Field2=

X2Field3<=

X3...Table1收集每个字段使用次数C[N]判断

Sum

>Threshold(热点表)选择TopX(C)(热点字段)TableN...根据用户查询模式,筛选出热点表和热点字段智能治理:提供多样化治理能力Partition1Pk1=20231218,Pk2=...Partition2Pk1=20231217,Pk2=...RowCountNDV收集数据特征NDVRow

Count>Threshold

?Iceberg

治理需求-Z-Order

聚类计算出分区Row

Count

和热点字段的NDV,筛选出NDV/

Row

Count

大于阈值的字段,以其为key对表进行Z-Order

聚类Table智能治理:提供多样化治理能力Iceberg

治理需求–分区信息展示在用户使用Iceberg

过程中,经常有查看分区的需求,需要聚合元数据计算之前的架构中,我们在元数据服务进行分区计算,压力巨大我们在Iceberg

源码中添加了分区计算的Procedure,由治理服务触发分区计算,并将结果写入

Iceberg

metadata,元数据服务可直接查看分区结果返回,不再承担计算任务PartitionStatistic

FilemetadataTable快照更新DataLakeGovernanceSpark前端分区计算X元数据服务Call

ProcedureIcebergAPI智能治理:提供多样化治理能力热数据:近期访问或写入的数据,对读写速度要求较高,存储在

HDFS

上冷数据:近期访问少或者无访问的数据,我们的治理服务异步搬迁到公有云上,降低成本过期数据:超过一定日期的分区数据,自动进行清理Iceberg

治理需求-数据生命理根据数据的访问时间和用户的设定参数将数据进行分层热数据 冷数据 过期数据智能治理:提供多样化治理能力Column---------datepricexxTablePartitions规则校验用户指定生命校验字段DataLakeGovernance上云转储数据过期SparkCall

ProcedureDelete

语句Date=20250326Iceberg

治理需求–数据生命理用户指定生命校验字段[

仅支持分区字段]获取分区信息后通过规则校验,对冷数据采取上云转储的任务,对过期数据执行

Delete

语句删除数据智能治理:提供多样化治理能力Paimon

治理需求Paimon

会自动清理过期快照,自动进paction,因此在实践中我们暂时不将这部分内容纳入治理服务我们在实践中将

孤儿文件清理、过期数据清理

等功能加入了治理服务和Iceberg

类似,Paimon同样有数据降本需求,我们正在逐步完善Paimon

异步转储上云能力智能治理:提供多样化治理能力Fileset

治理需求Fileset

是Gritino

中为管理非结构化数据而设立的资源格式Fileset

提供了

AI

和大数据场景

下非表格数据的统一读写客户端、生命理、资产管理和审计等能力。对于

Fileset,

目前我们支持了过期数据的清理和冷数据上云来减少成本统一调度体系:优化资源与运维成本如果每个湖表格式单独构建治理链路会带来较大的服务部署和监控的成本(部署服务数量=

集群数*湖表种类数

*

单链路服务数量)一个统一的任务调度体系是必要的,下面以任务的

产生–

调度–

执行

三个层次来介绍我们的调度体系Iceberg

优化服务Paimon

优化服务Fileset

优化服务集群1Iceberg

优化服务集群2…统一调度与监控:优化资源与运维成本任务产生在实践中,我们将任务分成

任务

触发式任务任务:产生的优化任务,适用于对及时性要求高(文件合并任务)或者判断逻辑简单(快照清理)的任务触发式任务:可以接受外部投递的消息,产生优化任务并调度,适用于判定规则复杂(Z-Order

聚类任务)或者特定条件才触发的任务统一调度与监控:优化资源与运维成本Table

1Table

2Table

3文件合并快照清理孤儿文件清理…务在早期的版本中,我们使用定时线程处理一次性处理所有表随着表数量的增加,一轮处理时间带来的延迟已经会造成表优化不及时的情况出现,但是为每个表建立定时线程又不现实第N

次执行第N

+

1

次执行一轮表处理时间

定时间隔第N

次执行第N

+

1

次执行一轮表处理时间定时间隔规模增大统一调度与监控:优化资源与运维成本务折衷方案–

分桶模型将一定数量的表分别映射到不同功能类型的桶中,利用Quartz构建每个桶的定时任务分散单个任务需要扫描的表数量,避免单次扫描过多的表引入较大处理延迟。统一调度与监控:优化资源与运维成本触发式任务Watcher务触发式任务统一调度Z-Order

聚类触发数据转储触发Manifest

重写触发复杂计算外置,比如Z-Order

聚类的判定,涉及到用户查询模式的收集等一系列链路,将该部分独立出来更容部分优化任务只在表快照更新时才触发,触发式任务减少了轮询带来的资源损耗

更加灵活的拓展性,可以快速增加新的优化任务统一调度与监控:优化资源与运维成本Iceberg/

Paimon过期数据清理Iceberg/

Paimon孤儿文件清理Iceberg

快照清理...Spark

JobFileset冷数据上云...Map

ReduceFileset过期数据清理...HDFS

Client任务调度调度层将任务分发到执行组件执行需要与多种组件交互,并防止各组件之间因交互,执行时间的差异而互相阻塞统一调度与监控:优化资源与运维成本CreatedSubmmitingRunningFinishedIcebergPaimonFileset...ProcessorSpark Yarn HDFSIceberg

TaskPaimonTaskFileset

TaskChanger基于状态机的任务调度将

Task

分为

4

种状态,Changer

根据不同状态/

不同湖表格式的

Task,选择不同的处理逻辑并切换状态统一调度与监控:优化资源与运维成本在具体的任务执行阶段,我们也做了针对性的优化,整体上增加了吞吐量,并减少

Core

资源需求优化Iceberg

/

Paimon

的源码,使优化任务支持两种模式:Local

:

即只在Driver

上运行,提升小任务吞吐量Distributed

:

利用分布式计算能力提升计算速度,防止单点

OOMDriverDriverExecutorExecutor任务执行优化SmallTableSmallTableSmallTableLargeTable任务执行时间:秒级/毫秒级任务执行时间:分钟级总结与展望总结小米数据湖平台集成了Iceberg、Paimon、Filese

温馨提示

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

评论

0/150

提交评论