1、演讲人:李灿 腾讯云TBDS后台开发腾讯云TBDS在iceberg数据湖上的治理实践DataFunSummit 2025TBDS大数据平台01Iceberg数据湖治理的痛点02TBDS在Iceberg湖治理上的实践和优化方案03未来展望04目 录CONTENTSDataFunSummit 2025TBDS大数据平台TBDS(Tencent Big Data Suite)是基于腾讯多年大数据实践,面向数据全生命周期,对外提供的安全安全、可靠可靠、易用易用的一站式、高性能、企一站式、高性能、企业级业级大数据存存储计算分析平台储计算分析平台。TBDS产品基本架构TBDS:Lakehouse架构TBD
2、S:Lakehouse-Iceberg隐式分区隐式分区高效的数据更新和删除、灵活的查询以及简化了数据管理Partition 变更变更灵活适应业务变化、提高查询性能、支持复杂查询Schema 变更变更提高开发效率、灵活应对数据变化、增强数据质量开放的元数据开放的元数据Iceberg 提供了开放的元数据API,方便平台提供了构建一套统一的元数据服务引擎兼容性引擎兼容性Iceberg 支持Spark、Flink、Trino等多种计算引擎,非常适合多引擎混合使用的环境小文件问题 NameNode 压力 IO放大,影响查询性能表生命周期管理问题孤儿文件管理问题元数据膨胀问题Iceberg小文件合并rew
3、rite-datafilerewrite-deletefileexpiresnapshot删除孤儿文件重写元数据文件在Iceberg数据湖在生产实践上比较常见如下的问题,需要一套治理服务自动化处理。怎么自动检测小文件?何时自动触发小文件治理?小文件怎么样高效治理?TBDS:Iceberg治理方案发展历程基于社区基于社区spark-procedure方案方案基于最小均方基于最小均方误差算法误差算法(MSE)的方案的方案Apache Amoro:self-optimizer方案方案优点优点使用简单,适合表比较少,并且写入和查询比较低频场景。不足不足表数量比较多的情况下变得不可维护,资源难以管理,缺
4、乏有效的监控手段,不适合大规模生产使用。优点优点使用简单,适合小规模集群,能够根据文件大小情况按需触发表的小文件合并。不足不足海量表情况下,性能压力较大,不同表文件写入大小规格差异较大,需要精细化配置,细粒度资源划分复杂等。方案概述方案概述分层统计碎片文件、按照fregment、segment文件规格,将优化任务划分成Minor、Major的等级,实现了一种小步快跑的小文件处理方式,在读放大和写放大问题上提供了一种比较好的均衡。优点优点提供了比较完备的iceberg小文件处理方式,兼具了webui任务详情的展示,比较完备的监控指标以及良好的资源划分方式。面临海量的Iceberg表,主备模式下单
5、节点存在性能瓶颈,需要一个支持容量水平扩展的解决方案。性能性能问题问题优化资源配置以及如何更高效的使用,需要进行自动化管理。资源管理问题资源管理问题业务高频写入,旁路的小文件治理如何减少因与写入的冲突导致的提交失败,资源配置不合理OOM失败,任务积压超时失败等,需要较大的人工运维成本。优化任务频繁失败问题优化任务频繁失败问题Iceberg数据湖治理的痛点随着数据湖使用规模的逐渐扩大,Iceberg数据湖在生产实践上还面临着下面的一些治理痛点。TBDS-数据湖治理服务-Luoshu-基本架构资源统一管控资源统一管控用户无需关心优化资源的创建,自动化同步管控资源的伸缩,用户只需对Yarn和K8资源
6、进行管控即可。优化资源自适应优化资源自适应用户无需关心优化资源实例,自动化启停优化资源,自动化检测任务队列是否需要扩展资源,失联实例自动拉起和快速失败。Serveless云原生化部署,可自动化纳管多套Hadoop集群。TBDS-数据湖治理服务-Luoshu-治理逻辑Luoshu中Iceberg表治理逻辑在设计和实现上参考了Amoro self-optimizer服务针对Iceberg小文件问题治理上的一些设计亮点。RewriteDataFilesLuoshu Server中会周期性检测每个表的小文件情况,触发不同的小文件合并任务,由优化器主动来拉取任务进行rewrite操作,达成合并小文件的目