1. 摘要 在之前的一篇博客中,我们介绍了Clustering(聚簇)的表服务来重新组织数据来提供更好的查询性能,而不用降低摄取速度,并且我们已经知道如何部署同步Clustering,本篇博客中,我们将讨论近期社区做的一些改进以及如何通过HoodieClusteringJob和DeltaStreamer工具来部署异步Clustering. 2. 介绍 通常讲,Clustering根据可配置的策略创建一个计划,根据特定规则对符合条件的文件进行分组,然后执行该计划.Hudi支持并发写入,并在多个表服…
在我们之前的文章中,我们讨论了多模式索引的设计,这是一种用于Lakehouse架构的无服务器和高性能索引子系统,以提高查询和写入性能.在这篇博客中,我们讨论了构建如此强大的索引所需的机制,异步索引机制的设计,类似于 PostgreSQL 和 MySQL 等流行的数据库系统,它支持索引构建而不会阻塞写入. 背景 Apache Hudi 将事务和更新/删除/更改流添加到弹性云存储和开放文件格式之上的表中. Hudi 内部的一个关键组件是事务数据库内核,它协调对 Hudi 表的读取和写入.索引是该内核…
本篇文章对执行异步Compaction的不同部署模型一探究竟. 1. Compaction 对于Merge-On-Read表,数据使用列式Parquet文件和行式Avro文件存储,更新被记录到增量文件,然后进行同步/异步compaction生成新版本的列式文件.Merge-On-Read表可减少数据摄入延迟,因而进行不阻塞摄入的异步Compaction很有意义. 2. 异步Compaction 异步Compaction会进行如下两个步骤 调度Compaction:由摄取作业完成,在这一步,Hud…
Apache Hudi提供了MVCC并发模型,保证写入端和读取端之间快照级别隔离.在本篇博客中我们将介绍如何配置来管理多个文件版本,此外还将讨论用户可使用的清理机制,以了解如何维护所需数量的旧文件版本,以使长时间运行的读取端不会失败. 1. 回收空间以控制存储成本 Hudi 提供不同的表管理服务来管理数据湖上表的数据,其中一项服务称为Cleaner(清理服务). 随着用户向表中写入更多数据,对于每次更新,Hudi会生成一个新版本的数据文件用于保存更新后的记录(COPY_ON_WRITE) 或将这…
1. 介绍 Hudi中的每个记录都由HoodieKey唯一标识,HoodieKey由记录键和记录所属的分区路径组成.基于此设计Hudi可以将更新和删除快速应用于指定记录.Hudi使用分区路径字段对数据集进行分区,并且分区内的记录有唯一的记录键.由于仅在分区内保证唯一性,因此在不同分区之间可能存在具有相同记录键的记录.应该明智地选择分区字段,因为它可能影响摄取和查询延迟. 2. KeyGenerators(键生成器) Hudi提供了一些开箱即用的键生成器,用户可以基于此满足大部分业务需求,或者自定…
摘要:本文主要介绍 Presto 如何更好的利用 Hudi 的数据布局.索引信息来加速点查性能. 本文分享自华为云社区<华为云基于 Apache Hudi 极致查询优化的探索实践!>,作者:FI_mengtao. 背景 湖仓一体(LakeHouse)是一种新的开放式架构,它结合了数据湖和数据仓库的最佳元素,是当下大数据领域的重要发展方向. 华为云早在2020年就开始着手相关技术的预研,并落地在华为云 FusionInsight MRS智能数据湖解决方案中. 目前主流的三大数据湖组件 Apach…
英文原文:https://hudi.apache.org/blog/hudi-indexing-mechanisms/ Apache Hudi使用索引来定位更删操作所在的文件组.对于Copy-On-Write表,索引能加快更删的操作,因为避免了通过连接整个数据集来决定哪些文件需要重写.对于Merge-On-Read表,这个设计,对于任意给定的基文件,能限定要与其合并的记录数量.具体地,一个给定的基文件只需要和其所包含的记录的更新合并.相比之下,没有索引的设计(比如Apache Hive ACID…
马萨诸塞州韦克菲尔德(Wakefield,MA)- 2020年6月 - Apache软件基金会(ASF).350多个开源项目和全职开发人员.管理人员和孵化器宣布:Apache Hudi正式成为Apache顶级项目(TLP).在投票表决Hudi毕业时,Hudi总共获得了19票binding(其中包括ASF联合创始人Jim Jagielski的一票),21票non-binding. Apache Hudi(Hadoop Upserts Delete and Incremental)数据湖技术可在Ap…
1. 引入 大多数现代数据湖都是基于某种分布式文件系统(DFS),如HDFS或基于云的存储,如AWS S3构建的.遵循的基本原则之一是文件的"一次写入多次读取"访问模型.这对于处理海量数据非常有用,如数百GB到TB的数据. 但是在构建分析数据湖时,更新数据并不罕见.根据不同场景,这些更新频率可能是每小时一次,甚至可能是每天或每周一次.另外可能还需要在最新视图.包含所有更新的历史视图甚至仅是最新增量视图上运行分析. 通常这会导致使用用于流和批处理的多个系统,前者处理增量数据,而后者处理历…
一个近期由Hudi PMC & Uber Senior Engineering Manager Nishith Agarwal分享的Talk 关于Nishith Agarwal更详细的介绍,主要从事数据方面的工作,包括摄取标准化,数据湖原语等. 什么是数据湖?数据湖是一个集中式的存储,允许以任意规模存储结构化和非结构化数据.你可以存储原始数据,而不需要先转化为结构化的数据,基于数据湖之上可以运行多种类型的分析,如dashboard.大数据处理的可视化.实时分析.机器学习等. 接着看看对于构建PB…