Hudi的核心概念 —— 文件布局(File Layout)

news2024/9/29 11:35:07

文章目录

  • 文件布局(File Layout)
    • Hudi 存储分为两个部分

文件布局(File Layout)

Hudi 将一个表映射为如下文件结构

在这里插入图片描述

Hudi 存储分为两个部分

(1)元数据:.hoodie 目录对应着表的元数据信息,包括表的版本管理(Timeline)、归档目录(存放过时的 instant 也就是版本),一个 instant 记录了一次提交(commit)的行为、时间戳和状态,Hudi 以时间轴的形式维护了在数据集上执行的所有操作的元数据;
(2)数据:和 hive 一样,以分区方式存放数据;分区里面存放着 Base File(.parquet)和 Log File(.log.*);

在这里插入图片描述

一个partition_1也是一个ID

1)Hudi 将数据表组织成分布式文件系统基本路径(basepath)下的目录结构
2)表被划分为多个分区,这些分区是包含该分区的数据文件的文件夹,非常类似于Hive 表
3)在每个分区中,文件被组织成文件组,由文件 ID 唯一标识
4)每个文件组包含几个文件片(FileSlice)
5)每个文件片包含:
(1)一个基本文件(.parquet):在某个 commit/compaction 即时时间(instant time)生成的(MOR 可能没有)
(2)多个日志文件(.log.*),这些日志文件包含自生成基本文件以来对基本文件的插入/更新(COW 没有)
6)Hudi 采用了多版本并发控制(Multiversion Concurrency Control, MVCC)
(1)compaction 操作:合并日志和基本文件以产生新的文件片
(2)clean 操作:清除不使用的/旧的文件片以回收文件系统上的空间

在这里插入图片描述

7)Hudi 的 base file(parquet 文件)在 footer 的 meta 去记录了 record key 组成的BloomFilter,用于在 file based index 的实现中实现高效率的 key contains 检测。只有不在BloomFilter 的 key 才需要扫描整个文件消灭假阳。
8)Hudi 的 log (avro 文件)是自己编码的,通过积攒数据 buffer 以 LogBlock 为单位写出,每个 LogBlock 包含 magic number、size、content、footer 等信息,用于数据读、校验和过滤。

在这里插入图片描述

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

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

相关文章

Vivado综合设置之-no_lc

本文详细讨论了当勾选或者不勾选-no_lc时的差异,也详细介绍了using O5 and O6以及using O6 output only的具体含义。 -no_lc表示NO LUT Combining,即无LUT整合,默认不勾选,即默认有LUT整合。LUT整合可以减少对LUT的使用量&#x…

架构设计---数据库的存储优化

前言: 互联网系统架构中,承受着最大出力压力,最难以被伸缩的,就是数据存储部分,原因主要有两方面,一方面,数据存储需要使用硬盘,而硬盘的处理速度要比其他几种计算资源都要慢&#…

6、Servlet——网络协议、HTTP协议、HTTP报文格式

目录 一、网络协议 1、网络协议三要素 2、层次结构 3、层次划分 二、HTTP协议 1、HTTP工作原理 2、HTTP协议特点 3、 三次握手 4、四次挥手 三、HTTP报文格式 1、请求报文 2、响应报文 一、网络协议 网络协议,简称协议 ,网络协议是通信计算…

【Python百日进阶-数据分析】Day150 - plotly使用日期类型轴的时间序列 1

文章目录一、使用轴类型的时间序列date1.1 使用 plotly.express1.2 使用 graph_objects二、Dash 中的时间序列三、日期轴上的不同图表类型3.1 相对股票代码值的条形图3.2 多面区域图四、配置刻度标签五、将刻度标签移动到期间的中间六、用直方图总结时间序列数据七、显示期间数…

macOS 上安装和配置 Flutter 开发环境

本文基于此: Flutter中文网 一、安装和运行Flutter的系统环境要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS磁盘空间:2.8 GB(不包括IDE/tools的磁盘空间)。工具:Flutter使用git进行安装和升级。我们建议安…

vue3中的写法以及,一些语法糖

vue3新增setup,属性执行比 created更早,同时setup中this不会指向实例)这个方法在onBeforeMounted之前被调用。定义数据需要在数据前面加ref,ref在vue3中是将数据转换成响应式数据结构的一种,因为vue3中没有了data(){ },那么就没办法劫持数据做…

PDF拆分成多个页面怎么办?这三个方法让你实现将文件拆分成多页

PDF是我们常见的文件格式之一,在日常办公中,我们经常会将WORD、PPT、EXCEL等文档转换成PDF的格式后再进行传输,这样不仅传输速度快,格式也不会出现乱码的情况,但在一些特殊的场景下,我们也需要将一份完整的…

Allegro174版本新功能介绍之锁定菜单栏设置

Allegro174版本新功能介绍之锁定菜单栏设置 用Allegro设计的时候,经常因为切换了Symphony team design模式导致菜单栏变化,使用的时候又需要重新去调用一次,十分麻烦 但是在Allegro升级到了174的时候,有一个锁定菜单栏的功能 具体操作如下 选择Setup选择User Prefrences

代谢组学喜讯|百趣生物与金域医学达成代谢组学战略合作

2023年1月4日,上海百趣生物医学科技有限公司(“百趣生物”)与广州金域医学检验集团股份有限公司(“金域医学”)在广州举行战略合作签约仪式。双方将在代谢组学科研服务和临床转化方面进行深度合作,共同致力…

2022年餐饮连锁行业研究报告

第一章 行业概况 餐饮连锁是餐饮的一种发展模式,指餐饮企业通过连锁经营和特许经营的方式进行扩张。根据商务部发布的《特许经营管理办法》:连锁企业必须具备2店1年才有出售特许经营权的权利。餐饮连锁是餐饮业发展到一定程度时的一个必然的产物&#x…

深度学习入门之ResNet食物图像分类

前言 参加了华为一个小比赛第四届MindCon-爱(AI)美食–10类常见美食图片分类,本来想实践机器学习课程的知识,后来发现图像分类任务基本都是用神经网络做,之前在兴趣课上学过一点神经网络但不多,通过这样一…

Android UI界面刷新机制

一 前言 作为严重影响 Android 口碑问题之一的 UI 流畅性差的问题,首先在 Android 4.1 版本中得到了有效处理。其解决方法即在 4.1 版本推出的 Project Butter。Project Butter 对 Android Display系统进行了重构,引入三个核心元素:VSYNC、T…

nmake文件学习记录(一)看《跟我一起写Makefile》

1、陈皓《跟我一起写Makefile》 makefile 带来的好处就是——“自动化编译”,一旦写好,只需要一个make 命令,整个工程完全自动编译,极大的提高了软件开发的效率。 make 是一个命令工具,是一个解释makefile 中指令的命…

线程池(ThreadPoolExecutor)

文章目录一、线程池标准库提供的线程池ThreadPoolExecutor自定义线程池一、线程池 为什么要引入线程池? 这个原因我们需要追溯到线程,我们线程存在的意义在于,使用进程进行并发编程太重了,所以引入了线程,因为线程又称为 “轻量…

【知识图谱导论-浙大】第三、四章:知识图谱的抽取与构建

前文: 【知识图谱导论-浙大】第一章:知识图谱概论 【知识图谱导论-浙大】第二章:知识图谱的表示 说明:原视频中的第三章主要介绍了图数据库相关的内容,有兴趣的可以查看相关课件或者对应的视频: 【知识图…

[Linux理论基础1]----手写和使用json完成[序列化和反序列化]

文章目录前言一、应用层二、再谈"协议"三、 网络版计算器手写版本使用第三方库json实现完整代码总结前言 理解应用层的作用,初始HTTP协议;理解传输层的作用,深入理解TCP的各项特性和机制;对整个TCP/IP协议有系统的理解;对TCP/IP协议体系下的其他重要协议和技术有一定…

JPG格式如何转为PDF格式?快来学习如何转换

图片是我们经常用到的一种便携式文件,像我们日常的照片或者是一些学习资料、工作资料都是图片形式的,我们经常会把这些图片发送给其他人,这时候就需要想一个简单的办法把图片一次性发送过去,所以我们可以将图片转换为PDF文件&…

暨 广告、推荐、搜索 三大顶级复杂业务之 “广告业务系统详叙”

文章目录暨 广告、推荐、搜索 三大顶级复杂业务之 “广告业务系统详叙”广告系统的核心功能ADX 架构流程概述典型 ADX 架构图概述消息中心抱歉,有段日子没码字了,后面会尽量补出来分享给大家。这段时间整理了关于 “广告业务” 相关的思考,作…

OSPF笔记(五):OSPF虚链路--普通区域远离骨干区域

一、OSPF 虚链路 1.1 虚链路邻居关系: hello包只发送一次,没有dead时间 虚链路配置邻居指的是RID,非接口IP 1.2 虚链路解决的问题: 普通区域远离骨干区域0的问题 普通区域连接两个骨干区域0问题 (1)…

SpringSecurity授权功能快速上手

3. 授权 3.0 权限系统的作用 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并…