实时数据湖-Merge On Read

Hudi

按照我的理解,我们一般所说的 MOR 与 Hudi 中的 MOR 不同,我们强调的是 query,而 Hudi 中指的是 table type。Hudi 中真正对应的我们的是视图(query type) 中的近实时视图(Snapshot Queries):

在此视图上的查询将查看某个增量提交操作中数据集的最新快照。该视图通过动态合并最新的基本文件(例如parquet)和增量文件(例如avro)来提供近实时数据集(几分钟的延迟)。

当前支持 Hudi 近实时视图的查询引擎如下图
在这里插入图片描述

Hudi 实时视图相关逻辑

实现类:HoodieRealtimeRecordReader -> RealtimeCompactedRecordReader

我们可以从 testReaderWithNestedAndComplexSchema() 这个测试方法中看到完整的 Snapshot Queries 的过程:

  1. 构建 HoodieRealtimeFileSplit,其中包含了 baseFilePath 、logFilePath、
    hadoop-conf
  2. 构建 HoodieRealtimeRecordReader,参数是上一步初始化好的 split,初始化过程中 scan() 方法会将
    split 中的 logFile 读取到 Map 中,key 为 _hoodie_record_key
  3. 在 HoodieRealtimeRecordReader.RealtimeCo
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值