Apache Hudi提供了MVCC并发模型,保证写入端和读取端之间快照级别隔离.在本篇博客中我们将介绍如何配置来管理多个文件版本,此外还将讨论用户可使用的清理机制,以了解如何维护所需数量的旧文件版本,以使长时间运行的读取端不会失败. 1. 回收空间以控制存储成本 Hudi 提供不同的表管理服务来管理数据湖上表的数据,其中一项服务称为Cleaner(清理服务). 随着用户向表中写入更多数据,对于每次更新,Hudi会生成一个新版本的数据文件用于保存更新后的记录(COPY_ON_WRITE) 或将这…
Apache Kafka近日推出0.11版本.这是一个里程碑式的大版本,特别是Kafka从这个版本开始支持“exactly-once”语义(下称EOS, exactly-once semantics).本文简要介绍一下0.11版本主要的功能变更,下面中的每一项都值得专门写篇文章好好聊聊. 一.修改unclean.leader.election.enabled默认值 Kafka社区终于下定决心要把这个参数的默认值改成false,即不再允许出现unclean leader选举的情况,在正确性和高可用…
1. 引言 从确保准确预计到达时间到预测最佳交通路线,在Uber平台上提供安全.无缝的运输和交付体验需要可靠.高性能的大规模数据存储和分析.2016年,Uber开发了增量处理框架Apache Hudi,以低延迟和高效率为关键业务数据管道赋能.一年后,我们开源了该解决方案,以使得其他有需要的组织也可以利用Hudi的优势.接着在2019年,我们履行承诺,进一步将其捐赠给了Apache Software Foundation,差不多一年半之后,Apache Hudi毕业成为Apache Softwar…
1. 引入 大多数现代数据湖都是基于某种分布式文件系统(DFS),如HDFS或基于云的存储,如AWS S3构建的.遵循的基本原则之一是文件的"一次写入多次读取"访问模型.这对于处理海量数据非常有用,如数百GB到TB的数据. 但是在构建分析数据湖时,更新数据并不罕见.根据不同场景,这些更新频率可能是每小时一次,甚至可能是每天或每周一次.另外可能还需要在最新视图.包含所有更新的历史视图甚至仅是最新增量视图上运行分析. 通常这会导致使用用于流和批处理的多个系统,前者处理增量数据,而后者处理历…
1. 重点特性 1.1 Flink集成 自从Hudi 0.7.0版本支持Flink写入后,Hudi社区又进一步完善了Flink和Hudi的集成.包括重新设计性能更好.扩展性更好.基于Flink状态索引的写入Pipeline:支持Flink写入MOR表:Flink批量读取COW和MOR表:流式读取MOR表:同时支持了Hudi作为Source和Sink的Flink SQL Connector,在Hudi 0.8.0版本发布后,用户可以使用Flink1.11+体验上述所有新特性. 想了解更多Flink…
历经大约3个月时间,Apache Hudi 社区终于发布了0.5.1版本,这是Apache Hudi发布的第二个Apache版本,该版本中一些关键点如下 版本升级 将Spark版本从2.1.0升级到2.4.4 将Avro版本从1.7.7升级到1.8.2 将Parquet版本从1.8.1升级到1.10.1 将Kafka版本从0.8.2.1升级到2.0.0,这是由于将spark-streaming-kafka artifact从0.8_2.11升级到0.10_2.11/2.12间接升级 重要:Hud…
1. 下载信息 源码:Apache Hudi 0.6.0 Source Release (asc, sha512) 二进制Jar包:nexus 2. 迁移指南 如果您从0.5.3以前的版本迁移至0.6.0,请仔细核对每个版本的迁移指南: 0.6.0版本从基于list的rollback策略变更为了基于marker文件的rollback策略,为进行平稳迁移,会在hoodie.properties文件中配置一个新属性hoodie.table.version:无论何时使用Hudi表新版本,如1(从0.6…
1. 重点特性 1.1 Spark SQL支持 0.9.0 添加了对使用 Spark SQL 的 DDL/DML 的支持,朝着使所有角色(非工程师.分析师等)更容易访问和操作 Hudi 迈出了一大步. 用户现在可以使用 CREATE TABLE....USING HUDI 和 CREATE TABLE .. AS SELECT 语句直接在 Hive 等目录中创建和管理表. 然后用户可以使用 INSERT.UPDATE.MERGE INTO 和 DELETE 语句来操作数据. 此外,INSERT…
1. 下载连接 源代码下载:Apache Hudi 0.5.3 Source Release (asc, sha512) 0.5.3版本相关jar包地址:https://repository.apache.org/#nexus-search;quick~hudi 2. 迁移指南 这是一个bugfix版本,从0.5.2升级时不需要任何特殊的迁移步骤.如果要从早期版本"X"升级,请阅读"X"和0.5.3之间的每个后续版本的迁移指南. 0.5.3是Hudi毕业后的第一个版…
1. 摘要 随着Apache Hudi变得越来越流行,一个挑战就是用户如何将存量的历史表迁移到Apache Hudi,Apache Hudi维护了记录级别的元数据以便提供upserts和增量拉取的核心能力.为利用Hudi的upsert和增量拉取能力,用户需要重写整个数据集让其成为Hudi表.此RFC提供一个无需重写整张表的高效迁移机制. 2. 背景 为了更好的了解此RFC,读者需要了解一些Hudi基础知识 2.1 记录级别元数据 上图展示了Hudi中每条记录的组织结构,每条记录有5个Hudi元数…