一口气学完Hudi——核心概念之时间轴
  jt7jKzfXdgvm 2023年11月02日 77 0

Apache Hudi 是一个基于 Hadoop 的分布式数据存储系统,支持存储结构化和非结构化数据。Hudi 的时间轴 (TimeLine) 是其重要的组成部分,用于管理和跟踪数据的变化历史。在本文中,我将详细介绍 Hudi 时间轴的基本概念、特点以及如何使用它来进行数据管理。

一、Hudi 时间轴的基本概念

Hudi 时间轴用于跟踪和管理数据的变化历史。它支持对数据的增删改查,并且能够高效地处理大量数据。Hudi的核心是维护表上在不同的即时时间(instants)执行的所有操作的时间轴(timeline),这有助于提供表的即时视图,同时还有效地支持按到达顺序检索数据。一个instant由以下三个部分组成:

  • Instant action : 操作类型
  • Instant time : 时间戳
  • state : 状态

Instant action:在表上执行的操作类型

  • COMMITS:一次commit表示将一批数据原子性地写入一个表。

  • CLEANS:清除表中不再需要的旧版本文件的后台活动。

  • DELTA_COMMIT:增量提交指的是将一批数据原子性地写入一个MergeOnRead类型的表,其中部分或所有数据可以写入增量日志。

  • COMPACTION:合并Hudi内部差异数据结构的后台活动,例如:将更新操作从基于行的log日志文件合并到列式存储的数据文件。在内部,COMPACTION体现为timeline上的特殊提交。

  • ROLLBACK:表示当commit/delta_commit不成功时进行回滚,其会删除在写入过程中产生的部分文件。

  • SAVEPOINT:将某些文件组标记为已保存,以便其不会被删除。在发生灾难需要恢复数据的情况下,它有助于将数据集还原到时间轴上的某个点。

Instant time

通常是一个时间戳(例如:20190117010349),它按照动作开始时间的顺序单调增加。

State

  • REQUESTED:表示某个action已经调度,但尚未执行。
  • INFLIGHT:表示action当前正在执行。
  • COMPLETED:表示timeline上的action已经完成。

image.png

上图中采用时间(小时)作为分区字段,从 10:00 开始陆续产生各种 commits,10:20 来了一条 9:00 的数据,根据event time该数据仍然可以落到 9:00 对应的分区,通过 timeline 直接消费 10:00 (commit time)之后的增量更新(只消费有新 commits 的 group),那么这条延迟的数据仍然可以被消费到。

二、Hudi 时间轴的特点

Hudi 时间轴具有以下几个特点:

  1. 可扩展性:Hudi 时间轴支持水平扩展,能够轻松地添加更多的节点来存储更多的数据。
  2. 高可用性:Hudi 时间轴支持自动故障转移,能够在节点出现故障时自动切换到备用节点上。
  3. 高效性:Hudi 时间轴支持高效的数据管理和处理,能够按时间粒度进行数据聚合和查询。
  4. 可定制性:Hudi 时间轴支持自定义数据模型和查询语言,能够根据实际需求进行定制化。

三、如何使用 Hudi 时间轴进行数据管理

Hudi 时间轴支持多种数据管理场景,包括批量操作、实时操作和事件流操作。下面将介绍如何使用 Hudi 时间轴进行数据管理:

  1. 批量操作:批量操作是指对数据进行批量的增删改查操作。可以使用 Hudi 时间轴的命令行工具进行批量操作,也可以使用 API 进行批量操作。
  2. 实时操作:实时操作是指对数据进行实时的增删改查操作。可以使用 Hudi 时间轴的 API 进行实时操作,也可以使用命令行工具进行实时操作。
  3. 事件流操作:事件流操作是指对数据进行事件流的增删改查操作。可以使用 Hudi 时间轴的 API 进行事件流操作,也可以使用命令行工具进行事件流操作。

四、结论

Hudi 时间轴是 Hudi 系统中的重要组成部分,它支持高效的数据管理和处理,能够跟踪和管理数据的变化历史。Hudi 时间轴具有可扩展性、高可用性、高效性和可定制性等特点,能够满足不同数据管理场景的需求。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

jt7jKzfXdgvm
最新推荐 更多

2024-05-31