Hudi 客户端实现分析

08. Hudi 客户端实现分析

主题说明

Hudi 提供了三种客户端实现:Spark、Flink 和 Java。理解客户端实现有助于理解不同引擎下的写入机制。

客户端实现包括:

  • BaseHoodieWriteClient:客户端基类
  • SparkRDDWriteClient:Spark 客户端
  • HoodieFlinkWriteClient:Flink 客户端
  • HoodieJavaWriteClient:Java 客户端

细化内容

BaseHoodieWriteClient - 客户端基类

BaseHoodieWriteClient是所有客户端的基类,定义了通用的写入逻辑。

主要方法:

  • startCommit():开始新的提交
  • upsert():更新或插入
  • insert():插入
  • delete():删除
  • commit():提交

核心逻辑:

  • 索引查找
  • 数据分区
  • 文件写入
  • 提交管理

SparkRDDWriteClient - Spark 客户端

SparkRDDWriteClient是 Spark 的客户端实现,使用 JavaRDD 作为数据容器。

特点:

  • 使用 Spark 的分布式计算
  • 支持大规模数据处理
  • 自动管理 Spark 任务

HoodieFlinkWriteClient - Flink 客户端

HoodieFlinkWriteClient是 Flink 的客户端实现,支持流式写入。

特点:

  • 支持流式写入
  • Checkpoint 集成
  • 状态管理

HoodieJavaWriteClient - Java 客户端

HoodieJavaWriteClient是 Java 的客户端实现,使用 List 作为数据容器。

特点:

  • 单机处理
  • 简单易用
  • 适合小规模数据

关键技术

索引查找

所有客户端都使用索引来查找记录位置:

  • Bloom Index:布隆过滤器索引
  • Simple Index:简单索引
  • Global Index:全局索引

数据分区

客户端根据分区字段对数据进行分区:

  • 分区策略:按分区路径分区
  • 文件组分配:分配文件组
  • 写入优化:优化写入性能

提交管理

客户端管理提交过程:

  • Instant 创建:创建提交时间点
  • 元数据生成:生成提交元数据
  • Timeline 更新:更新 Timeline

关键对象说明

类关系图

关键操作时序图

代码示例

Spark 客户端使用

HoodieSparkEngineContextcontext=newHoodieSparkEngineContext(jsc);HoodieWriteConfigconfig=HoodieWriteConfig.newBuilder().withPath(basePath).build();SparkRDDWriteClientclient=newSparkRDDWriteClient(context,config);StringinstantTime=client.startCommit();JavaRDD<WriteStatus>writeStatuses=client.upsert(records,instantTime);client.commit(instantTime,writeStatuses);

总结

Hudi 提供了三种客户端实现,每种都有其适用场景。核心要点:

  1. BaseHoodieWriteClient是客户端基类
  2. SparkRDDWriteClient适用于 Spark 环境
  3. HoodieFlinkWriteClient适用于 Flink 流式写入
  4. HoodieJavaWriteClient适用于 Java 单机处理
  5. 索引查找是通用的核心逻辑
  6. 提交管理保证数据一致性

理解客户端实现有助于在不同场景下选择合适的客户端。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1220507.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

被Trae IDE的solo编程模式震惊到了

AI从GPT出来就开始用&#xff0c;基本就是作为问答交互式的辅助编程工具。包括局部代码开发&#xff0c;代码优化&#xff0c;错误检擦&#xff0c;特别是在不熟悉轮子的语言上&#xff0c;会大大的减少工作量。已经经历过lua开发&#xff0c;py开发&#xff0c;本来对里边的轮…

数字员工如何依托熊猫智汇实现销售业绩的飞跃?

数字员工是一种新兴的AI销售工具&#xff0c;通过智能化的操作&#xff0c;能够有效优化企业的业务流程。借助于AI销冠系统&#xff0c;数字员工实现了自动化外呼和智能应答&#xff0c;使得企业能更加高效地与客户沟通。这种创新不仅降低了人工成本&#xff0c;还提高了工作效…

一起来揭秘阿虎医考的网课,到底好在哪?

执业医师资格考试,一场医学人职业生涯中决定性的战役。每年有近半数考生铩羽而归。 面对海量考点、复杂的临床思维考核和严格的实践技能测试,大多数考生陷入了“知识记不住、重点抓不准、自律靠不住”的典型困境。 在…

医疗消毒追溯系统全国?

在医疗行业,消毒追溯系统的重要性不言而喻,它关乎着每一位患者的健康与安全。那么在全国范围内,哪家的医疗消毒追溯系统能脱颖而出呢?今天就带大家来认识一下山东术衣博士消毒科技股份有限公司(简称 “术衣博士”…

phpmyadmin偶数删除文章

phpmyadmin偶数删除文章在 phpMyAdmin 里按“偶数”规则删除文章,本质上是用 SQL 条件删除。下面按 WordPress 场景(你前面一直在用 WP)给你几种可直接用的、安全到激进方案。一、最常见需求:删除“ID 为偶数”的文…

哪个执业医师培训机构的网课好?阿虎凭何“领跑”又“实操强”?

每年的执业医师考试都是一场知识与耐力的较量,许多医学生在面对执业医师考试这座大山时,往往陷入两难境地——医院实习已占满白天时间,夜晚还要挑灯夜读,而市面上五花八门的医考培训机构让人眼花缭乱。 从老牌机构…

2026年重庆钢绞线厂家推荐,全面分析可靠的1*7钢绞线销售厂家

当前市场中,*17钢绞线供应商**数量众多,品质良莠不齐。在这样一个竞争激烈的环境下,采购者如何选择值得信赖的厂家成了关键。可靠的供应商通常具备行业经验、合规的生产标准和良好的客户反馈。本文将对市场上几家具…

自然语言处理(NLP)—发展历程(背景、高效的技术、优缺点、未来方向)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[Java EE] 多线程进阶 (1) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

为什么我不允许 Service 层直接返回 Result?

沉默是金&#xff0c;总会发光大家好&#xff0c;我是沉默最近一次 Code Review&#xff0c;我和阿伟“打”了一架。事情的起因很简单。 我发现他在 Service 层直接 return 了 Result 对象。我提醒了一句&#xff1a;“这个不太合适。”阿伟一脸疑惑地反问我&#xff1a;「为啥…

智能风控实战:金融AI体系构建全流程

智能风控实战&#xff1a;金融AI体系构建全流程 关键词&#xff1a;智能风控、金融AI、体系构建、风险评估、机器学习、深度学习、大数据 摘要&#xff1a;本文深入探讨金融领域智能风控中AI体系构建的全流程。首先介绍智能风控在金融行业的重要背景&#xff0c;点明其对保障…

【建议收藏】网络安全:IT小白的“零门槛“高薪之路,327万缺口等你来填补!

中国信息通信研究院《网络安全产业人才发展报告&#xff08;2024年&#xff09;》显示&#xff0c;2024年我国网络安全人才缺口高达327万&#xff0c;而新增人才供给仅约20万人/年。与此同时&#xff0c;网络安全市场规模持续扩大&#xff0c;预计2025年将突破3000亿元。 在数…

“推三返一”的完整商业逻辑:从裂变算法到合规边界,一篇讲透

在流量成本高企的今天&#xff0c;每一个手握产品、寻求线上突破的老板&#xff0c;都在寻找能“四两拨千斤”的增长秘籍。“推三返一”这个词&#xff0c;随之频繁出现在项目圈、方案商的对话中。它被描绘成私域裂变的核武器&#xff0c;但也总与“是否合法”的质疑相伴。今天…

hcie笔试题库有多少道题?

备考HCIE考试&#xff0c;笔试是第一关&#xff0c;很多同学一上来就懵&#xff1a;笔试题库到底有多少道题&#xff1f;手里的题库能用到什么时候&#xff1f;会不会背完就过期了&#xff1f;今天就把这两个问题掰扯清楚&#xff0c;帮你高效备赛&#xff01; 01、HCIE笔试题库…

【软件测试】3_性能测试实战 _性能测试需求分析

文章目录一、性能测试需求分析1.1 如何获取有效的需求二、性能测试点的提取2.1 性能测试点的提取规则2.2 商城性能测试点的提取三、确定性能测试目标一、性能测试需求分析 性能测试需求分析与传统的功能测试需求分析有所不同功能测试需求分析&#xff1a; 重点在于分析被测系统…

【软件测试】4_性能测试实战 _性能测试计划

文章目录 一、测试背景二、测试目的三、测试范围四、测试策略4.1 基准测试4.2 负载测试4.3 稳定性测试 五、风险控制六、进度与分工 (人员安排)七、交付清单八、总结 一、测试背景 商城是公司新开发的一个电商项目&#xff0c; 为了保证项目上线后能够稳定的运行&#xff0c; …

域名与IP:无限绑定的技术奥秘

一个域名最多能对应无明确数量上限的 IP 地址&#xff1b;一个 IP 地址可以绑定无明确数量上限的域名&#xff0c;二者的数量限制主要取决于技术实现和实际应用场景。 一、 一个域名对应多个 IP 地址 这种配置通过 DNS 轮询&#xff08;DNS Round Robin&#xff09; 技术实现&a…

【精华收藏】运维工程师转网络安全:从零开始,降维打击,开启高薪副业

文章探讨了35岁以上运维工程师的职业出路&#xff0c;提出了云原生/DevOps和网络安全两大方向。重点推荐网络安全转型&#xff0c;指出运维背景是巨大优势&#xff0c;安全行业越老越吃香&#xff0c;职业选择灵活&#xff0c;市场需求广阔。文章推广了针对运维、测试等人员的零…

【必藏】网络安全入门指南:3大方向+分人群路径+避坑指南,3年经验年薪30万不是梦

2025年网络安全人才缺口将突破350万&#xff0c;行业薪资高但人才短缺。文章解析了行业三大核心方向(渗透测试、安全研发、二进制安全)&#xff0c;针对不同人群(在校生、转行者、在职IT人员)提供精准入行路径&#xff0c;并构建了从基础到实战的三阶段学习体系&#xff0c;强调…

网络安全三大热门岗位技能图谱+学习路径:渗透测试/安全运维/应用安全,小白收藏必备指南

很多想入行网络安全的人&#xff0c;都会陷入 “盲目学技能” 的误区 —— 要么跟着视频学了一堆工具&#xff0c;却不知道对应什么岗位&#xff1b;要么想做渗透测试&#xff0c;却花大量时间学安全运维的防火墙配置。其实网络安全岗位分工明确&#xff0c;不同岗位需要的核心…