大数据解决方案-LakeHouse数据湖方案类FAQ(进阶问题)
- Hudi与Iceberg选型优势
答:国内用hudi要远超lceberg,所以国内在各大论坛,技术成熟度上hudi更好,从数据更新能力这个角度来看,Hudi通过文件组、索引、主键可以降低数据文件冗余,而Iceberg每次数据跟新都会有commit,如果频繁写入更新,小文件问题严重
更多参考:
· Hudi 凭借文件组+索引+主键的设计模式,能够有效减少数据文件的冗余更新,提高数据更新效率。
· Iceberg 通过文件组织设计也能达到数据更新效果,但是每一次的 commit 都会产生新的文件,如果写入/更新频繁,小文件问题会比较严重。(虽然官方也配套提供了小文件治理能力,但是这部分的资源消耗、治理难度相对 Hudi 来说会比较大)
- Hudi与Iceberg选型劣势
答:hudi MOR表批量读性能不及Iceberg,但是我们通过,Hudi的log文件采用行列混合存储模式,基于Bitmap索引技术数据批量读合并的性能,弥补了MOR表批量性能的不足
更多参考:
hudi MOR表批量读性能不及Iceberg,由于Iceberg是分钟级写,每次写入都是一个列式存储文件,因此相比于Hudi的增量文件为行式文件,在批量读取的时候性能会降低。
- 多个flink作业写同一张hudi表,每个作业都只写部分字段会因为元数据不匹配导致作业失败
答:1)多个作业的数据先进行union再写入
2)多个flink作业通过kafka合并,写入相同的topic,在启动一个flink作业写hudi表
- 往hudi表中写数据越写越慢
答:1)分区字段的选择上:应该选择 各个分区数据比较均衡或 新增或者修改数据仅在很少的分区内的字段
2)索引问题:Bloomindex耗时较长,应该为hoodie.index.type =‘BUCKET’
服务伙伴相关技术问题可至☞服务伙伴知识库论坛问题求助专区提问
- 点赞
- 收藏
- 关注作者
评论(0)