目录
1. 目的
- 1. 目的
- 2. Marker文件名称结构
- 3. Direct Write Markers
- 4. Timeline Server Markers
- 5. Marker配置参数
一个write开始时,会先创建一个marker,等write完成时,会删除marker。如果marker未删除,表示write失败,会留下部分脏数据文件。标记的作用如下:
- marker用于清除脏数据文件
- marker用于数据rollback
由3部分组成:
- data file名称
- the marker extension(.marker)
- 创建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 将marker直接写入到HDFS,创建一个data file就会在相同目录下创建一个marker。marker文件内容为空
写入和扫描的时候效率都很低
4. Timeline Server Markers 客户端只管发送Marker请求,利用timeline server进行marker的批量创建、缓存、批量写入到DFS
HDFS目前还不支持timeline server marker
5. Marker配置参数 参数名称默认值含义hoodie.write.markers.typetimeline_server_based可选的参数值:direct、timeline_server_basedhoodie.markers.timeline_server_based.batch.num_threads20批量创建marker的线程数hoodie.markers.timeline_server_based.batch.interval_ms50批量创建marker的时间间隔,单位:毫秒