Apache Hudi数据湖的Marker机制

1. 目的

一个write开始时,会先创建一个marker,等write完成时,会删除marker。如果marker未删除,表示write失败,会留下部分脏数据文件。标记的作用如下:

  1. marker用于清除脏数据文件
  2. marker用于数据rollback

2. Marker文件名称结构

由3部分组成:

  1. data file名称
  2. the marker extension(.marker)
  3. 创建data file的I/O operation(inserts - CREATE、updates/deletes - MERGE、either - APPEND)

一个marker文件名称的例子:91245ce3-bb82-4f9f-969e-343364159174-0_140-579-0_20210820173605.parquet.marker.CREATE

3. Direct Write Markers

direct
将marker直接写入到HDFS,创建一个data file就会在相同目录下创建一个marker。marker文件内容为空

写入和扫描的时候效率都很低

4. Timeline Server Markers

timeline server
客户端只管发送Marker请求,利用timeline server进行marker的批量创建、缓存、批量写入到DFS

HDFS目前还不支持timeline server marker

5. Marker配置参数

参数名称默认值含义
hoodie.write.markers.typetimeline_server_based可选的参数值:direct、timeline_server_based
hoodie.markers.timeline_server_based.batch.num_threads20批量创建marker的线程数
hoodie.markers.timeline_server_based.batch.interval_ms50批量创建marker的时间间隔,单位:毫秒
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值