本文主要是介绍Hudi Flink MOR 学习总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
之前很少用MOR表,现在来学习总结一下。首先总结一下 compaction 遇到的问题。
版本
- Flink 1.15.4
- Hudi 0.13.0
表类型
COW 和 MOR
- COW:COW COPY_ON_WRITE 写时复制,写性能相比于MOR表差一点,因为每次写数据都会合并文件,但是能及时读取到最新的表数据。数据文件只有 parquet
- MOR:MERGE_ON_READ 读时合并,写性能相比于COW会快,因为写数据时只追加不合并(.log文件),只有compaction才会合并文件,将.log文件合并为 paruqet文件。有两种表类型 ro、rt,ro表只会读parquet文件,rt 表会将paruqet文件和.log文件合并。也就是虽然rt表可以读取所有的最新的数据,但是要先合并文件性能要比读取COW表差一些。
compaction
官方文档:https://hudi.apache.org/docs/compaction
compaction 只在MOR表中有,COW表是没有的,所以相比较而言,COW表使用起来相对简单,问题也少,这也是为啥开始我们主要是COW表的原因。
Compaction is a table service employed by Hudi specifically in Mer
这篇关于Hudi Flink MOR 学习总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!