Hudi配置参数优化

1)Commits:表示一批记录原子性的写入到一张表中。

2)Cleans:清除表中不再需要的旧版本文件。

3)Delta_commit:增量提交指的是将一批记录原子地写入MergeOnRead类型表,其中一些/所有数据都可以写入增量日志。

4)Compaction:将行式文件转化为列式文件。

5)Rollback:Commits或者Delta_commit执行不成功时回滚数据,删除期间产生的任意文件。

每次checkpoint时都会把缓存中数据刷盘,生成deltacommit  文件(增量日志)和commit文件,每n次deltacommit或者每n秒做一次压缩操作,触发压缩时也会触发clean操作,压缩是将coimmit文件压缩,可以设置最大压缩的IO大小

Commit(提交)文件:在Hudi中,commit文件是用于记录数据写入操作的元数据文件。每次写入数据时,Hudi会生成一个commit文件,其中包含了写入数据的时间戳、数据文件的路径等信息。Commit文件的存在可以确保数据的一致性和可恢复性。

DeltaCommit(增量提交)文件:DeltaCommit文件是用于记录增量数据写入操作的元数据文件。增量数据是指在已有数据的基础上进行的更新、插入或删除操作。每次进行增量操作时,Hudi会生成一个DeltaCommit文件,其中包含了增量操作的元数据信息。DeltaCommit文件的存在可以追踪到增量操作的历史,以便在需要时进行回滚或恢复。

Clean(清理)文件:Clean文件是用于记录数据清理操作的元数据文件。当Hudi需要清理或删除过期或无效的数据时,会生成一个Clean文件,其中包含了要清理的数据文件的路径等信息。Clean文件的存在可以确保数据的清理操作被记录和跟踪。

1.开始提交:判断上次任务是否失败,如果失败会触发回滚操作。然后会根据当前时间生成一个事务开始的请求标识元数据。2.构造HoodieRecord Rdd对象:Hudi 会根据元数据信息构造HoodieRecord Rdd 对象,方便后续数据去重和数据合并。3.数据去重:一批增量数据中可能会有重复的数据,Hudi会根据主键对数据进行去重避免重复数据写入Hudi 表。4.数据fileId位置信息获取:在修改记录中可以根据索引获取当前记录所属文件的fileid,在数据合并时需要知道数据update操作向那个fileId文件写入新的快照文件。5.数据合并:Hudi 有两种模式cow和mor。在cow模式中会重写索引命中的fileId快照文件;在mor 模式中根据fileId 追加到分区中的log 文件。6.完成提交:在元数据中生成xxxx.commit文件,只有生成commit 元数据文件,查询引擎才能根据元数据查询到刚刚upsert 后的数据。7.compaction压缩:主要是mor 模式中才会有,他会将mor模式中的xxx.log 数据合并到xxx.parquet 快照文件中去。8.hive元数据同步:hive 的元素数据同步这个步骤需要配置非必需操作,主要是对于hive 和presto 等查询引擎,需要依赖hive 元数据才能进行查询,所以hive元数据同步就是构造外表提供查询。

参考: 

https://download.csdn.net/blog/column/11942229/126891750

Hudi关键术语及其概述-腾讯云开发者社区-腾讯云

数据湖(三):Hudi概念术语 - 知乎

Flink 指南 | Apache Hudi

17张图带你彻底理解Hudi Upsert原理-腾讯云开发者社区-腾讯云

Hudi系列16:Hudi核心参数_hudi文档的配置-CSDN博客

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

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

相关文章

【解决】Vue3中使用element-plus菜单点击两次才高亮显示问题

【解决】Vue3中使用element-plus菜单点击两次才高亮显示问题 原因:我这里造成高亮点击两次才生效的原因是重复渲染造成default-active的值重置了。 状况:点击菜单后,地址栏改变、页面也跳转,但要点击第二次后才高亮显示。或者点击…

DEEPSORT算法:深度学习驱动下的高效多目标跟踪

DEEPSORT算法核心原理梗概 DEEPSORT(Deep Simple Online and Realtime Tracking)是一种基于深度学习的多目标跟踪算法。其核心原理在于利用深度学习模型进行目标检测,并结合卡尔曼滤波器进行目标状态预测和数据关联,从而实现目标…

Python:内存监测工具memory_profiler

Python内存监测工具memory_profiler memory_profiler 是一个用于监测Python代码内存使用的工具。它可以帮助开发者理解他们的程序在运行时消耗内存的情况,确定内存泄漏的位置,优化代码性能。 安装 由于memory_profiler不是Python的标准库,…

全国产飞腾E2000Q +复旦微FPGA的轨道交通、电力解决方案

产品概述 ITX-XMF201是一款高性能边缘计算网关主板,采用飞腾E2000Q 4核处理器,国产化率达到95%国产化。 板载2电口,2路CAN,6路RS232接口,1路RS485接口,16路GPIO,可以满足银行、轨道交通、电力等…

VR元宇宙的概念|VR体验店加盟|虚拟现实设备销售

VR元宇宙是一个结合了虚拟现实(Virtual Reality)和增强现实(Augmented Reality)等技术的概念,代表着一个虚拟的多维度世界。它是一个由数字化的空间构成的虚拟环境,可以通过虚拟现实设备进行交互和探索。 元…

【力扣刷题练习】56. 合并区间

题目描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 题目解答: class S…

JavaScript 解决切换图片问题

代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style…

华为配置攻击检测功能示例

配置攻击检测功能示例 组网图形 图1 配置攻击检测功能示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 企业用户通过WLAN接入网络&#xff0c;以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时&#xff0c;不影响用户的业务使用。…

openssl_encrypt 加密解密

DES 是对称性加密里面常见一种&#xff0c;全称为 Data Encryption Standard&#xff0c;即数据加密标准&#xff0c;是一种使用密钥加密的块算法。密钥长度是64位(bit)&#xff0c;超过位数密钥被忽略。所谓对称性加密即加密和解密密钥相同&#xff0c;对称性加密一般会按照固…

Python文件操作系统操作指南

在Python编程中&#xff0c;文件系统的管理是至关重要的技能之一&#xff0c;无论是读取文本文件、处理CSV数据、编写日志&#xff0c;还是进行文件和目录的创建、移动、复制、删除等操作。本指南将全面介绍如何利用Python标准库中的os和shutil模块来有效地管理和操作文件系统。…

车灯典型方案 H5528L 降压恒流芯片12V240V360V48V60V72V90V转9V12V 高低亮 性价比高

降压恒流芯片支持高低亮工作原理&#xff1a; 通过PWM&#xff08;脉冲宽度调制&#xff09;技术来调节开关管的开关时间&#xff0c;从而实现稳定的输出电压和电流&#xff0c;保持LED灯的亮度稳定。当需要调节LED灯的亮度时&#xff0c;可以通过改变PWM信号的占空比来实现。…

【信号分析】01/说在前面

全课程思维 #mermaid-svg-va4HsweZFSOJpLXa {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-va4HsweZFSOJpLXa .error-icon{fill:#552222;}#mermaid-svg-va4HsweZFSOJpLXa .error-text{fill:#552222;stroke:#552222;…

软件设计模式之访问者模式(Visitor Pattern)

访问者模式是一种行为型设计模式&#xff0c;它允许你定义一系列操作&#xff0c;这些操作可以应用于对象结构中的元素&#xff0c;而不改变这些元素的类。通过这种方式&#xff0c;可以在不改变各个元素的类的情况下&#xff0c;增加新的操作。 1. 何时使用访问者模式&#x…

在手机浏览器中打开指定的应用商店

前言 大牛&#xff1a;你们这应用下载太慢了&#xff0c;为何不跳转到手机自带的应用商店下载&#xff0c;还不占用你们服务器的资源&#xff01; 程序猿&#xff1a;哇&#xff01;&#xff01;&#xff01;是的啊&#xff01; 一、如何区分现在运行在哪一个厂商的手机里面&…

Bert-as-service 实战

参考&#xff1a;bert-as-service 详细使用指南写给初学者-CSDN博客 GitHub - ymcui/Chinese-BERT-wwm: Pre-Training with Whole Word Masking for Chinese BERT&#xff08;中文BERT-wwm系列模型&#xff09; 下载&#xff1a;https://storage.googleapis.com/bert_models/…

hive执行select count(1)返回0

背景&#xff1a; 做数据质量检核任务的时候&#xff0c;有些数据表有数据&#xff0c;直接查hive执行select count(1) from table返回的值一直是0 问题原因&#xff1a; hive通过select count(1)或者select count(*) 查询的是元数据库里面的rownum,如果数据表数据是通过load、…

使用Django的admin功能管理数据_vscode

之前的文章 项目 hello_django, app名 hello&#xff0c;已有的model LogMessage&#xff1a; https://blog.csdn.net/weixin_44741835/article/details/136202771?spm1001.2014.3001.5502 参考得到电子书&#xff1a;第八章。 https://www.dedao.cn/ebook/reader?idrEQKv6…

linux系统-----------搭建LNMP 架构

PHP(Hypertext Preprocessor 超文本预处理器)是通用服务器端脚本编程语言&#xff0c;主要用于web开发实现动态web页面&#xff0c;也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时&#xff0c;php还提供了一个命令行接口&#xff0c;因此&#xff0c;其也可…

能在手机上运行,仅仅0.5B大小的小语言模型MobiLlama

模型介绍 该模型基于LLaMA-7B架构设计&#xff0c;旨在能够在边缘设备上高效运行&#xff0c;无需将数据发送到远程服务器或云端处理。如智能手机、平板电脑、智能手表等。MobiLlama模型虽然体积小、对资源的需求低&#xff0c;但仍能提供高精度的语言理解和生成能力。项目还提…

java 通过 microsoft graph 调用outlook

废话不多说 一 官方文档 先看一下官方文档&#xff0c;https://learn.microsoft.com/zh-cn/graph/tutorials/java?contextoutlook%2Fcontext&tabsaad&tutorial-step1 其中的代码&#xff0c;可以通过地址下载&#xff1a;https://developer.microsoft.com/en-us/gra…