【博学谷学习记录】超强总结,用心分享| Hudi核心概念

文章介绍了Hudi中的Timeline元数据结构,包括Timestamp、Action和State三个组成部分,以及Hudi的数据格式,如avro日志文件和parquet压缩文件。此外,讨论了Hudi的索引类型,如BloomFilter,和不同读取数据的模型,如批量、流式和增量模型,强调了增量模型结合了批量处理的效率和流式处理的经济性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.TImeline元数据

Instant由3个部分组成: (1)Timestamp,时间戳,什么时候做的操作

(2)Action,操作,具体做了什么操作,COMMIT(提交,COW)、DELTA_COMMIT(提交,MOR)、CLEAN(清理)、COMPACTION(压缩)

(3)State,这一个操作具体到哪个步骤了(REQUESTED(请求发起)、INFLIGHT(请求进行中)、COMPLETED(请求完成))

Data Format数据格式

Hudi提供了两种类型的文件格式来管理数据:

  • avro,日志文件,log文件
  • parquet,压缩文件,base文件
  • 层级关系如下:

    Hudi表 -> partition(分区)-> FileGroup(文件组)->FileSlice(文件片)->1或1个log+1个parquet文件组成

2.index索引

Hudi提供了多种索引,如下:

  • Bloom Index(布隆索引,默认)
  • HBase Index(HBase索引)
  • Simple Index(简单索引)
  • Custom Index(自定义索引)

    Bloom Filter介绍:

    A Bloom filter, named for its creator, Burton Howard Bloom, is a data structure which is designed to predict whether a given element is a member of a set of data. A positive result from a Bloom filter is not always accurate, but a negative result is guaranteed to be accurate.

    布隆过滤器,用创建者的名字命名,是一个用来判定元素是否在集合中的一种数据结果。返回值有两种:

    正数:元素可能在集合中

    负数:元素一定不在集合中

    小结:

    布隆过滤器,可能会出现误判,但是官网也在尽量减少误判。

3.读取数据的方式

计算模型有三种:

  • 批量模型(Batch)
  • 流式模型(Stream)
  • 增量模型(Incremental)

Batch

  • 延迟较高
  • 数据完整度较好
  • 资源消耗低

Stream

  • 延迟较低

  • 数据完整度较差

  • 资源消耗较高

Incremental

Uber公司根据自身业务场景,并且结合了批量处理和流式处理的优点。提出了增量模型。

  • 相比批而言,更加高效(降低延迟)

  • 相比流而言,更加经济(省资源)

具体就是以Mini-batch来实现的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值