数据湖-Hudi-源码系列
一、架构设计
Hudi 的定位是一套完整的数据湖平台,最上层面向用户可以写各种各样的 SQL,Hudi 作为平台提供的各种能力,下面一层是基于 SQL 以及编程的 API,再下一层是 Hudi 的内核,包括索引、并发控制、表服务,后面社区要构建的基于 Lake Cache 构建缓存,文件格式是使用的开放 Parquet、ORC、HFile 存储格式,整个数据湖可以构建在各种云上。
二、阅读环境准备
引用本站文章
Hudi 源码阅读环境搭建
Joker
三、Kernel
3.1. Table Format
Hudi 提供了两类表格式 COW 和 MOR,两种表格式会在数据的写入和查询性能上有一些不同。
引用本站文章
数据湖-Hudi-源码学习-Kernel-TableFormat 设计
Joker
3.2. Table
引用本站文章
数据湖-Hudi-源码学习-Kernel-Table 设计
Joker
3.3. Timeline Server
引用本站文章
数据湖-Hudi-源码学习-Kernel-Timeline Server 设计
Joker
3.4. Table Service
Table format 是当前流行的三种数据湖格式的基础属性,而 Hudi 从项目之初就一直朝着平台方向去演化,拥有比较完善的数据治理和 Table Service。Table Service 提供了一个强大的工具包,比如用户在写入的时候可以并发地优化文件的布局。
$Hudi\ is\ Not\ Just\ a\ Table\ Format\ !$
引用本站文章
数据湖-Hudi-源码学习-Kernel-TableService 设计
Joker
四、API/SQL
4.1. Catalog
引用本站文章
数据湖-Hudi-源码学习-API-Catalog 设计
Joker
五、User Interface
5.1. Platform Services
5.1.1. Metaserver
Hudi Metaserver 是 Hudi 的元数据服务,用于管理 Hudi 表的元数据信息,包括 Hudi 表的结构信息,分区信息、数据文件信息、以及表的版本信息等。Hudi Metaserver 可以在Hadoop集群上运行,通过 REST API 提供元数据服务。
引用站外地址,不保证站点的可用性和安全性
数据湖-Hudi-源码学习-User Interface-Platform Services-Metaserver-设计
Joker
5.2. Query Engines
http://example.com/2021/09/23/%E6%95%B0%E6%8D%AE%E6%B9%96-Hudi-%E6%BA%90%E7%A0%81%E7%B3%BB%E5%88%97/
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joker!
评论
ValineTwikoo