hudi系列-小文件优化

Hudi在处理大数据时因事务和表服务管理产生大量小文件,影响存储和查询性能。文章介绍了Hudi如何通过合并现有文件、删除无用文件、元数据文件优化和数据文件优化来解决这个问题。元数据通过控制活跃时间线跨度和归档进行管理,数据文件则通过分区、分桶、增加写入数据量、控制文件上限、定期compact、clustering和clean等方式进行优化。
摘要由CSDN通过智能技术生成

hudi使用mvcc来实现数据的读写一致性和并发控制,基于timeline实现对事务和表服务的管理,会产生大量比较小的数据文件和元数据文件。大量小文件会对存储和查询性能产生不利影响,包括增加文件系统的开销、文件管理的复杂性以及查询性能的下降。对于namenode而言,当整个集群中文件数到了几千万,就已经会变得很不稳定了。hudi自身提供了各种方法对表中产生的小文件进行了优化,总结下来无非是几种方式:

  1. 合并现有小文件
  2. 删除无用小文件
  3. 对于支持append的文件系统,直接往小文件追加数据,如hdfs

元数据文件优化

hudi使用元数据文件来管理和维护表的元数据信息,包括表的结构、分区信息、数据文件的位置和版本等。.hoodie是元数据根目录,直接目录下在存储着活跃时间线下所有的元数据,一般不会被删除,通过配置来控制活跃时间线的跨度,进而限制了元数据文件数量的无限增长。如果活跃时间线跨度过长,在timeline上的一些操作将变得更低效,对读、写和其它表服务都影响很大(hudi通过timeline server和MDT可以对此进行优化)。

较久前的元数据文件会定时被归档形成归档时间线,保存在archived目录中,随着归档文件不断增加ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值