Hudi:数据湖技术引领大数据新风口

1.1 Hudi简介

Apache Hudi(Hadoop Upserts Delete and Incremental)是下一代流数据湖平台。Apache Hudi将核心仓库和数据库功能直接引入数据湖。Hudi提供了表、事务、高效的upserts/delete、高级索引、流摄取服务、数据集群/压缩优化和并发,同时保持数据的开源文件格式。

Apache Hudi不仅非常适合于流工作负载,而且还允许创建高效的增量批处理管道。

Apache Hudi可以轻松地在任何云存储平台上使用。Hudi的高级性能优化,使分析工作负载更快的任何流行的查询引擎,包括Apache Spark、Flink、Presto、Trino、Hive等。

img

img

1.2 发展历史

2015 年:发表了增量处理的核心思想/原则(O’reilly 文章)。

2016 年:由 Uber 创建并为所有数据库/关键业务提供支持。

2017 年:由 Uber 开源,并支撑 100PB 数据湖。

2018 年:吸引大量使用者,并因云计算普及。

2019 年:成为 ASF 孵化项目,并增加更多平台组件。

2020 年:毕业成为 Apache 顶级项目,社区、下载量、采用率增长超过 10 倍。

2021 年:支持 Uber 500PB 数据湖,SQL DML、Flink 集成、索引、元服务器、缓存。

1.3 Hudi特性

Ø 可插拔索引机制支持快速Upsert/Delete。

Ø 支持增量拉取表变更以进行处理。

Ø 支持事务提交及回滚,并发控制。

Ø 支持Spark、Presto、Trino、Hive、Flink等引擎的SQL读写。

Ø 自动管理小文件,数据聚簇,压缩,清理。

Ø 流式摄入,内置CDC源和工具。

Ø 内置可扩展存储访问的元数据跟踪。

Ø 向后兼容的方式实现表结构变更的支持。

1.4 使用场景

(1)近实时写入

Ø 减少碎片化工具的使用。

Ø CDC 增量导入 RDBMS 数据。

Ø 限制小文件的大小和数量。

(2)近实时分析

Ø 相对于秒级存储(Druid, OpenTSDB),节省资源。

Ø 提供分钟级别时效性,支撑更高效的查询。

Ø Hudi作为lib,非常轻量。

(3)增量 pipeline

Ø 区分arrivetime和event time处理延迟数据。

Ø 更短的调度interval减少端到端延迟(小时 -> 分钟) => Incremental Processing。

(4)增量导出

Ø 替代部分Kafka的场景,数据导出到在线服务存储 e.g. ES。

下一章 编译安装

后记

📢博客主页:https://manor.blog.csdn.net

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 Maynor 原创,首发于 CSDN博客🙉
📢不能老盯着手机屏幕,要不时地抬起头,看看老板的位置⭐
📢数据湖专栏持续更新,欢迎订阅:https://blog.csdn.net/xianyu120/category_12388063.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐