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公司根据自身业务场景,并且结合了批量处理和流式处理的优点。提出了增量模型。
-
相比批而言,更加高效(降低延迟)
-
相比流而言,更加经济(省资源)文章来源:https://www.toymoban.com/news/detail-462672.html
具体就是以Mini-batch来实现的。文章来源地址https://www.toymoban.com/news/detail-462672.html
到了这里,关于Hudi核心概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!