您当前的位置: 首页 >  apache

Bulut0907

暂无认证

  • 0浏览

    0关注

    346博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Apache Hudi数据湖的File Sizing

Bulut0907 发布时间:2022-06-15 09:20:34 ,浏览量:0

目录
  • 1. 目标
  • 2. Auto-Size During ingestion
    • 2.1 For Copy-On-Write
    • 2.2 For Merge-On-Read
  • 3. Auto-Size With Clustering

注意: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周期性的对小文件进行合并,在合并的时候,数据查询会很慢

关注
打赏
1664501120
查看更多评论
立即登录/注册

微信扫码登录

0.0355s