回顾 2023:Hudi 的重点新功能一览

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 回顾 2023:Hudi 的重点新功能一览

Apache Hudi PMC 全体成员向 Hudi 社区的广大贡献者和用户表示感谢 -- 你们的贡献与支持让 Hudi 的 2023 与众不同。

开发亮点回顾

2023 年是 Hudi 非常高产的一年,有许多重大的进步和创新。这一年有三个主要版本发布:0.13.0[1]0.14.0[2],和开拓性的 1.0.0-beta1[3] 。这些版本共同重塑了 Hudi 数据湖仓上的数据库体验。以下是针对一些关键的功能和提升做的高亮总结。

索引能力提升到了一个新高度

Hudi 新的记录级索引(Record Level Index)[4]是一个颠覆性的功能,它可以大幅提高写入性能。通过存储每个记录的位置,它能在索引查找期间实现快速检索。基准测试表明,与全局简单索引(Global Simple Index)相比,写入延迟降低了 72%。同时,等值匹配查询的延迟也能被显著降低。新的一致性哈希索引(Consistent Hash Index)[5]能动态调整基于哈希的索引桶。通过解决桶索引(Bucket Index)的数据倾斜问题,它可以在写入过程中实现与记录级索引相似的高速查找。函数索引(Functional Index)[6]允许在特定字段上创建和删除索引,为用户提供更多手段来加速查询并调整分区。

写入吞吐量取得了显著提升

开发人员选择 Hudi 的一个常见原因是其业界领先的写入吞吐量和性能[7]。社区在写入性能方面继续进行创新,包括用于 OCC 的早期冲突检测[8]:该检测会在并发写把数据写入磁盘前主动验证冲突,从而避免大量的资源浪费并提高吞吐量。1.0 中引入的非阻塞并发控制(Non-Blocking Concurrency Control)[9]允许冲突在之后的查询中或通过 compaction 解决,进一步优化了并发写的吞吐量。响应了社区的普遍需求,partial update 功能[10]已实现,允许仅更新已更改的字段,对于宽的维度表非常适用。

全新的 API 接口

HoodieRecordMerger[11]是一个全新的抽象,它统一了合并语义并充分利用了引擎原生的记录模型。基准测试显示,upsert 性能提高了大约 10-20%。File Group Reader[12]是一个将文件组访问标准化的 API,可将 MoR 表的读取延迟降低约 20%。启用位置合并和页面跳过在一些场景下甚至可以加速快照查询约 5.7 倍。

易用性得到了密切关注

Table-valued function hudi_table_changes[13]简化了通过 SQL 执行增量查询。自动主键生成[14]允许用户省略记录的主键字段,特别适用于 append-only 表。在许多其他易用性的提升中,有两个值得一提的是添加了 hudi-cli-bundle jar[15]改进过的配置页面[16].

平台化能力得到了大力增强

变更数据捕获(Changed Data Capture)[17]是通过写入器记录额外信息来支持的。变更的数据,包括 beforeafter 快照,可以通过增量查询来获取,从而提供丰富的分析性情报。Metaserver[18]为湖仓项目提供了能够管理海量表格的中心化服务,标志着 Hudi 的平台化功能迈出了一大步。HoodieStreamer[19](以前的HoodieDeltaStreamer)依然是一项非常流行的数据摄取工具:新添加的 Protobuf Kafka 源、GCS 增量源和 Pulsar 源等新的 Source 类进一步扩展了平台集成能力。

生态系统的集成获得了大量拓展

在 AWS 上,Athena 支持了 Hudi 0.12.2 和 Hudi 元数据表[20],整体提升了查询性能。AWS Glue crawlers 新增了 Hudi 支持[21]并使得 Glue 4.0 能兼容 Hudi 0.12.1,AWS EMR 也扩展了支持矩阵[22],涵盖了 Hudi 0.13 和 0.14。GCP 提升了Hudi 与 BigQuery的集成[23]:实现了清单文件的集成以提高性能。Starburst 也添加了 Hudi 连接器[24]。执行引擎的支持也升级到了更新的版本,包括 Spark 3.4 和 3.5 以及 Flink 1.16、1.17 和 1.18。

互操作性至关重要

虽然 Hudi 继续保持着强劲的増势,社区的一些同行们也认为,是时候开始搭建跨越诸如 Delta Lake、Iceberg 等湖仓格式的互操作性的桥梁了。OneTable 最近宣布开源[25],意味着替想要构建数据湖仓架构的开发人员迈出了一大步。这一进展不仅强调了 Hudi 对开放性的承诺,还使得更多用户能够体验到 Hudi 所提供的技术优势。

期待 2024

文件组读取器 API 有望被广泛使用,为众多查询引擎带来所期望的好处。我们预计非阻塞并发控制也将被广泛采用。除此之外,还有更多令人期待的功能,包括无限时间线、二级索引、多表事务以及对非结构化数据的支持。关于最新进展和更多说明,欢迎参考路线图[26]

互动起来

回顾丰富的 2023,Hudi 社区持续发展,欢迎各种形式的参与。想建立联系的同学,欢迎加入 Slack 空间[27]问问题,这里有 Hudi 专家和基于LLM的问答机器人。当然也欢迎通过 Apache Hudi 公众号索取微信和钉钉群。您也可以参与每周问答[28]月同步会[29]。了解最新动态,欢迎关注 Hudi 的 LinkedIn[30]X (Twitter)[31]YouTube[32],还有 Apache Hudi 微信公众号。

如果遇到问题或有功能请求,欢迎提交 GitHub issue[33]JIRA[34]。参与更多深度讨论,订阅(发送空邮件至)开发者邮件列表[35]是个不错的选择。

对于感兴趣参与直接贡献的同学,可以从这个贡献指南[36]开始。无论是贡献代码,分享想法,还是简单地给 GitHub 仓库[37]点个星,我们都很重视。让我们一起继续塑造 Hudi 的未来,在开源社区中推动创新。期待一个更加充满活力的成就的 2024!

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
敏捷开发 存储 搜索推荐
《阿里巴巴Java开发手册v1.4.0(详尽版)》更新,新增16条设计规约
阿里巴巴集团推出的《阿里巴巴Java开发手册》是阿里巴巴近万名开发同学集体智慧的结晶,以开发视角为中心,详细列举如何开发更加高效、更加容错、更加有协作性,力求知其然,更知其不然,结合正反例,让Java开发者能够提升协作效率、提高代码质量。
733874 3
|
6月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之如何做mysqltomysql同步任务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
SQL 设计模式 数据处理
Flink SQL 在快手实践问题之状态兼容的终极方案特点内容如何解决
Flink SQL 在快手实践问题之状态兼容的终极方案特点内容如何解决
24 0
|
4月前
|
SQL 运维 监控
|
5月前
|
存储 SQL 分布式计算
MaxCompute产品使用合集之作业性能优化的规范包括哪些
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
运维 监控 流计算
TDengine 3.2.3.0 版本发布,流计算等八大板块功能更新
据了解,3.2.3.0 版本涉及到的更新内容包括流计算、传输压缩、授权机制、监控、数据接入、Explorer、性能优化、运维优化八大模块。
172 2
|
6月前
|
存储 SQL Apache
Apache Hudi 1.x 版本重磅功能展望与讨论
Apache Hudi 1.x 版本重磅功能展望与讨论
115 4
|
机器学习/深度学习 算法 安全
隐语v0.7版本升级,功能详情一览
隐语v0.7版本升级,功能详情一览
229 0
|
Java atlas Apache
数据治理一-Atlas2.1编译踩坑之路
数据治理一-Atlas2.1编译踩坑之路
437 0