Apache Hudi数据湖的File Sizing

注意:HDFS上的文件永远是不变的。将数据写入小文件,是通过将数据与小文件合并,生成一个new version file

1. 目标

Hudi通过控制file的大小,来避免创建过多的小文件。有两种方法:

  1. Auto-Size During ingestion
  2. Auto-Size With Clustering

2. Auto-Size During ingestion

可以在数据插入的时候,控制file大小,会增加数据插入的延迟

bulk_insert不能进行File Auto-Size

2.1 For Copy-On-Write

通过以下参数进行配置

  1. hoodie.parquet.max.file.size:默认是125829120,最好是HDFS文件block的倍数
  2. hoodie.parquet.small.file.limit:默认是104857600(100MB),如果file大小小于该值,则会将新的数据写入该文件,而不是创建新的file

2.2 For Merge-On-Read

通过以下参数进行配置

  1. hoodie.logfile.max.size:默认是1073741824 ,log file的最大文件大小
  2. hoodie.logfile.to.parquet.compression.ratio:默认是0.35,log file被compaction到parquet文件的压缩率

3. Auto-Size With Clustering

Clustering service周期性的对小文件进行合并,在合并的时候,数据查询会很慢

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值