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 条评论
 下一页