Hudi CopyOnWrite 写入流程
2021-01-14 17:46:45 10 举报
Hudi CopyOnWrite Upsert 流程介绍
作者其他创作
大纲/内容
走到这一步,doWriteOperation() 方法已经全部走完,剩下的就是去执行下面方法:checkWriteStatus()方法内部完成一些收尾工作,比如:提交commit时间。存档快照。删除快照。同步hive元数据等
insert
upsertRecordsInternal()
execute
upsert(默认)
handleUpdateInternal()
startProducers
write()
HoodieCopyOnWriteTable#handleUpdateInternal1.构造ParquetReader对象,用于读取oldFile2.构造BoundedInMemoryExecutor 用于Produce 与 Consumer的工作
handleInsertPartition()
执行插入操作
携带从hbase获取的数据
handleUpdate()
upsertHandle.close();
Consumer
startConsumer
data
handleInsert
isUpsert
BucketType.INSERT
BoundedInMemoryExecutor
整个write() 内部,前面的操作都是准备工作,比如:1.创建hudi目录,元数据信息2.判断参数完整性3.构建hudi表的Schema等
handleUpsertPartition()
bucketType
根据配置文件判断
该流程图主要关心是如何写入的
Produce
doWriteOperation()
Queue
执行完毕调用
bulkInsert
mapPartitionsWithIndex()
入口:org.apache.hudi.HoodieSparkSqlWriter#write()
Hdfs
0 条评论
下一页