当前位置: 首页 > news >正文

数据湖Hudi-读取流程可视化

 

要理解 Hudi(Hadoop Upserts Deletes and Incrementals)的读取流程,需先明确其核心存储模型表类型差异——Hudi 基于 “File Group(文件组)+ File Slice(文件切片)” 组织数据,且分为COW(Copy-On-Write,写时复制) 和MOR(Merge-On-Read,读时合并) 两种表类型,两者的读取逻辑因 “数据合并时机” 不同而存在显著差异。

以下从 “通用基础流程” 切入,再分别拆解 COW 和 MOR 的具体读取逻辑,结合 Hudi 的元数据组件(如 Timeline、Metadata Table)说明关键步骤。

一、Hudi 读取的核心基础:先明确 3 个关键概念

在梳理流程前,需先理解 Hudi 存储的核心组件,它们是读取流程的 “骨架”:

  1. File Group(文件组):按主键(Record Key)哈希分区,每个 File Group 对应一组 “同主键范围” 的数据,用File Group ID唯一标识;
  2. File Slice(文件切片):每个 File Group 包含多个 File Slice,每个 Slice 对应一次数据写入 / 更新的 “版本”,由两部分组成:
    • Base File:列式存储的 Parquet 文件(COW 表的唯一数据文件,MOR 表的基础数据文件);
    • Log File(Delta Log):仅 MOR 表存在,行式存储的 Avro 文件,记录 Base File 之后的增量更新(插入 / 删除 / 修改);
  3. Timeline(时间线):记录 Hudi 表的所有数据操作(如 Commit、Compaction),每个操作有唯一的Instant Time(时间戳),读取时需指定 “读取哪个 Instant 的快照”。

二、Hudi 通用读取流程:所有表类型的共通步骤

无论 COW 还是 MOR 表,读取流程的 “前置环节” 一致,核心是 “定位目标数据文件”,步骤如下:

1. 客户端发起读取请求

  • 读取入口:通过 Hudi 提供的 API(如HoodieDataSourceReader)、Spark SQL(SELECT * FROM hudi_table)或 Flink SQL 发起请求,需指定关键参数:
    • 表路径(如 HDFS 路径hdfs://cluster/hudi/db/orders);
    • 查询类型(如 Snapshot Query:读取最新快照;Incremental Query:读取增量数据;Read Optimized Query:仅 MOR 表,读取优化后的 Base File);
    • 过滤条件(如分区键dt='2025-01-01'、主键order_id=12345)。

2. 加载 Hudi 元数据,定位目标分区

  • 客户端首先读取 Hudi 表的元数据目录/.hoodie),获取以下信息:
http://www.dtcms.com/a/473948.html

相关文章:

  • 智能环境感知屏幕自适应系统:原理、架构与实现
  • 中卫网站制作公司公司网站seo怎么做
  • Python高效搜索实现:从数据海洋到精准信息的智能导航
  • 安安网站建设优惠的网站快排公司电话
  • Elasticsearch 备份:snapshot 镜像使用篇
  • 10月12日星期天今日早报简报微语报早读
  • 著名建筑网站网站建设市场价
  • MySQL快速构建主从(基于GTID)
  • 感知机:单层,多层(二分类,多分类)
  • 宁波网站建设服务公司电话俄乌局势最新进展
  • python进阶_Day6
  • 网站pv uv统计wordpress 破解主题下载地址
  • 全参数与PEFT深度剖析
  • 记忆翻牌游戏
  • 自己做的网站如何让别人访问织梦帝国wordpress
  • Linux -程序地址空间
  • (Spring)@PathVariable 与 @RequestParam 区别与应用
  • SpringAI从入门到精通 (2)
  • Linux 12mybash的实现
  • K8s YAML 文件详解:从语法到实战编写指南
  • 社区版Idea怎么创建Spring Boot项目?Selected Java version 17 is not supported. 问题解决
  • 益阳市 网站建设电子商务网站建设的主要风险
  • SpringBootRemotePowershellAdmin:开箱即用的 Windows远程运维开源工具
  • 插槽vue/react
  • 对vue生命周期的理解
  • 2017民非单位年检那个网站做黄山旅游攻略景点必去
  • [笔记 自用]CAN总线通信配置
  • HTML 教程
  • 用自己服务器做网站用备案怎样在亚马逊网上开店
  • PHP操作elasticsearch7.8