Daft是一个快速且分布式的查询引擎,具有熟悉的Python API。它适用于多种用例,如多模态数据处理、批处理数据处理、探索性数据分析(EDA)和用于训练机器学习模型的数据摄取。通过此集成,Apache Hudi用户现在可以直接从对象存储(如S3)读取Hudi的写时复制(CoW)表,以运行基于Python的工作负载,而无需JVM或Spark。我们迫不及待地想看到Hudi用户如何利用这个新的可能性。目前正在进行工作,包括支持增量读取、读取时合并(Merge-on-Read,MoR)读取、Hudi 1.0支持以及将数据写入Hudi表。
此集成引入了对Apache Hudi的支持,将其纳入Delta Universal格式。现在,您可以向Delta Universal表写入数据,生成Hudi元数据以及Delta元数据。此功能由Apache XTable(孵化中)启用。使用此命令,将创建一个启用UniForm的名为"T"的表,并在向该表写入数据时,自动生成Hudi元数据以及Delta元数据。
CREATE TABLE T (c1 INT) USING DELTA TBLPROPERTIES ('delta.universalFormat.enabledFormats' = hudi);
这个全面的三部分系列深入探讨了Apache Hudi的一致性模型,特别关注处理复制写(Copy-on-Write,CoW)表类型的多个并发写入者。这个系列对于任何有兴趣深入了解Hudi复杂性的人都是必不可少的。在第一部分中,Jack构建了一个理解CoW表的逻辑框架。第二部分深入探讨了时间戳单调性的原则,最后一部分则通过TLA+规范检验了模型验证的结果。
在这篇博客中,Shahid详细介绍了如何使用Apache Hudi、Kinesis、Flink和S3构建实时流水线。该教程提供了一个逐步指南,从使用Amazon Kinesis进行数据摄取开始,到使用Apache Flink进行处理,以及使用Hudi在S3上管理存储,包括实际的代码实现和设置配置。
Diogo的博客提供了一个详细指南,教你如何使用Apache Flink和Hudi构建成本效益高的湖屋架构,用于近实时分析。文章概述了如何集成Flink和Hudi来简化诸如增量数据更新、高效的更新操作和数据压缩等过程。该文章包括了一个全面的逐步设置过程,从使用Kafka进行初始数据摄取到使用Hive进行元数据管理,再到使用Flink进行流处理,演示了如何以降低成本实现高效可扩展的数据处理。
Soumil 提供了一个实用指南,介绍了如何使用 Apache Hudi、Delta Lake 和 Hudi Streamer来在数据湖架构中构建非规范化表。他们解释了如何设置一个 Docker 化的环境来创建 Hudi 和 Delta 表,并利用 Hudi Streamer 以及基于SQL的转换器来增强数据分析和报告功能。
这篇博客详细介绍了作者在使用Apache Hudi过程中遇到的故障排除经验,特别关注与Hudi清理程序相关的性能问题。作者深入探讨了Hudi清理过程的机制,该过程通过删除过时的数据文件来管理存储空间。通过检查Avro格式的清理请求文件,Gatsby提供了关于数据结构的见解,并通过一个自定义脚本来加载和分析这些文件,提供了实用的解决方案。
Shiyan Xu 的十部分系列的最后一篇文章深入探讨了 Apache Hudi 的发展历程,重点关注即将推出的 1.0 版本中引入的重大增强功能。文章重新审视了 Hudi 事务数据库层、编程 API 和用户界面的关键组件,这使得 Hudi 成为一个强大的数据湖架构平台。最重要的是,这篇博客突出了新的设计元素,如 LSM 树时间线、非阻塞并发控制、文件组读写器和功能索引,展示了它们如何为用户提供改进的效率和吞吐量。
https://github.com/apache/hudi/pull/10949
新的 PR 已合并,将默认的 payload 类型从当前的 OVERWRITE_LATEST 更改为 HOODIE_AVRO_DEFAULT。
https://github.com/apache/hudi/pull/10970
截至目前,Hudi HTTP 写入提交回调 URL 不支持传递自定义标头。这个新的 PR 支持通过一个新的配置参数 ‘hoodie.write.commit.callback.http.custom.headers’ 在 HoodieWriteConfig 中添加自定义标头,允许用户以结构化格式指定标头。
https://github.com/apache/hudi/pull/11018
Hudi Streamer 添加了一个新参数,--ignore-checkpoint。当设置时,此参数允许用户绕过检查点机制。
https://github.com/apache/hudi/pull/11013
此 PR 修改了默认的清理器行为,以防止在启用元数据表时生成多个清理器计划。只有在没有正在进行的计划时才会安排新的清理器计划,将 hoodie.clean.allow.multiple 的默认值设置为 False。
https://hudi.apache.org/docs/next/quick-start-guide
https://hudi.apache.org/docs/next/flink-quick-start-guide
https://hudi.apache.org/docs/next/docker_demo
https://hudi.apache.org/docs/next/overview
基于 Hudi、Iceberg、XTable 和 Dremio 的湖仓分析架构[9] - Dipankar Mazumdar, Alex Merced
开放的湖, 而不是筑高墙的花园[10] - Raghu Ramakrishnan, Josh Caplan (Microsoft)
Flink SQL 的一些误区[11] - Robin Moffatt
(论文) Amazon MemoryDB: A Fast and Durable Memory-First Cloud Database[12] - AWS
[1]
Daft + Hudi 集成: https://www.getdaft.io/projects/docs/en/latest/user_guide/integrations/hudi.html
[2]
Delta UniForm 支持 Hudi: https://github.com/delta-io/delta/pull/2333
[3]
深入理解 Apache Hudi 一致性模型 (3 part series): https://jack-vanlightly.com/analyses/2024/4/24/understanding-apache-hudi-consistency-model-part-1
[4]
用 Kinesis, Apache Flink 和 Apache Hudi 构建实时流管道: https://blog.devgenius.io/build-real-time-streaming-pipeline-with-kinesis-apache-flink-and-apache-hudi-35d8501855b4
[5]
DaaS: 用 Flink 和 Hudi 搭建近实时低成本湖仓平台: https://diogodssantos.medium.com/daas-building-a-low-cost-lakehouse-for-near-real-time-analytics-in-flink-and-hudi-527cc5feeb0c
[6]
使用 Hudi Streamer join Hudi 和 Delta 表: https://www.linkedin.com/pulse/hands-on-guide-reading-data-from-hudi-tables-joining-delta-shah-vqivf/
[7]
Apache Hudi: 加载 Hudi Cleaner’s AVRO 内容: https://medium.com/@life-is-short-so-enjoy-it/apache-hudi-load-hudi-cleaners-avro-content-a12d5dd911fe
[8]
Becoming "One" - Hudi 1.0 的高亮重点: https://blog.datumagic.com/p/apache-hudi-from-zero-to-one-1010
[9]
基于 Hudi、Iceberg、XTable 和 Dremio 的湖仓分析架构: https://www.onehouse.ai/blog/dremio-lakehouse-analytics-with-hudi-and-iceberg-using-xtable
[10]
开放的湖, 而不是筑高墙的花园: https://clouddamcdnprodep.azureedge.net/gdc/gdc5iZCgN/original
[11]
Flink SQL 的一些误区: https://www.decodable.co/blog/flink-sql-misconfiguration-misunderstanding-and-mishaps?utm_medium=social&utm_source=linkedin&utm_campaign=blog&utm_content=troubleshooting-flinksql
[12]
(论文) Amazon MemoryDB: A Fast and Durable Memory-First Cloud Database: https://assets.amazon.science/e0/1b/ba6c28034babbc1b18f54aa8102e/amazon-memorydb-a-fast-and-durable-memory-first-cloud-database.pdf