龙空技术网

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

Lakehouse 171

前言:

眼前各位老铁们对“apache并发连接数优化设置zt”都比较注意,朋友们都需要剖析一些“apache并发连接数优化设置zt”的相关文章。那么小编同时在网上网罗了一些关于“apache并发连接数优化设置zt””的相关资讯,希望小伙伴们能喜欢,姐妹们一起来了解一下吧!

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

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

在 AWS 上,Athena 支持了 Hudi 0.12.2 和 Hudi's 元数据表[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!

引用链接

[1] 0.13.0:

[2] 0.14.0:

[3] 1.0.0-beta1:

[4] 记录级索引(Record Level Index):

[5] 一致性哈希索引(Consistent Hash Index):

[6] 函数索引(Functional Index):

[7] 业界领先的写入吞吐量和性能:

[8] 早期冲突检测:

[9] 非阻塞并发控制(Non-Blocking Concurrency Control):

[10] partial update 功能:

[11] HoodieRecordMerger:

[12] File Group Reader:

[13] Table-valued function hudi_table_changes:

[14] 自动主键生成:

[15] hudi-cli-bundle jar:

[16] 改进过的配置页面:

[17] 变更数据捕获(Changed Data Capture):

[18] Metaserver:

[19] HoodieStreamer:

[20] Athena 支持了 Hudi 0.12.2 和 Hudi's 元数据表:

[21] AWS Glue crawlers 新增了 Hudi 支持:

[22] 支持矩阵:

[23] Hudi 与 BigQuery的集成:

[24] Starburst 也添加了 Hudi 连接器:

[25] OneTable 最近宣布开源:

[26] 路线图:

[27] Slack 空间:

[28] 每周问答:

[29] 月同步会:

[30] LinkedIn:

[31] X (Twitter):

[32] YouTube:

[33] GitHub issue:

[34] JIRA:

[35] 开发者邮件列表: mailto:dev-subscribe@hudi.apache.org

[36] 贡献指南:

[37] GitHub 仓库:

标签: #apache并发连接数优化设置zt