数据湖Iceberg-存储结构(2)

news/2025/3/16 5:40:40/

文章目录

  • 存储结构
    • 数据文件 data files
    • 表快照 Snapshot
    • 清单列表 Manifest list
    • 清单文件 Manifest file

数据湖Iceberg-简介(1)
数据湖Iceberg-存储结构(2)
数据湖Iceberg-Hive集成Iceberg(3)
数据湖Iceberg-SparkSQL集成(4)
数据湖Iceberg-FlinkSQL集成(5)
数据湖Iceberg-FlinkSQL-kafka类型表数据无法成功写入(6)
数据湖Iceberg-Flink DataFrame集成(7)

存储结构

在这里插入图片描述

在这里插入图片描述

数据文件 data files

数据文件是Apache Iceberg表真实存储数据的文件,一般是在表的数据存储目录的data目录下,如果我们的文件格式选择的是parquet,那么文件是以“.parquet”结尾。

例如:00000-0-atguigu_20230203160458_22ee74c9-643f-4b27-8fc1-9cbd5f64dad4-job_1675409881387_0007-00001.parquet 就是一个数据文件。

Iceberg每次更新会产生多个数据文件(data files)。

表快照 Snapshot

​ 快照代表一张表在某个时刻的状态。每个快照里面会列出表在某个时刻的所有 data files 列表。data files是存储在不同的manifest files里面,manifest files是存储在一个Manifest list文件里面,而一个Manifest list文件代表一个快照。

清单列表 Manifest list

​ manifest list是一个元数据文件,它列出构建表快照(Snapshot)的清单(Manifest file)。这个元数据文件中存储的是Manifest file列表,每个Manifest file占据一行。每行中存储了Manifest file的路径、其存储的数据文件(data files)的分区范围,增加了几个数文件、删除了几个数据文件等信息,这些信息可以用来在查询时提供过滤,加快速度。

​ 例如:snap-6746266566064388720-1-52f2f477-2585-4e69-be42-bbad9a46ed17.avro就是一个Manifest List文件。

清单文件 Manifest file

​ Manifest file也是一个元数据文件,它列出组成快照(snapshot)的数据文件(data files)的列表信息。每行都是每个数据文件的详细描述,包括数据文件的状态、文件路径、分区信息、列级别的统计信息(比如每列的最大最小值、空值数等)、文件的大小以及文件里面数据行数等信息。其中列级别的统计信息可以在扫描表数据时过滤掉不必要的文件。

​ Manifest file是以avro格式进行存储的,以“.avro”后缀结尾,例如:52f2f477-2585-4e69-be42-bbad9a46ed17-m0.avro。


http://www.ppmy.cn/news/53433.html

相关文章

优盘文件夹里内容突然没了怎么办

对于我们这些忙忙碌碌的打工人来说,有一个可以随时存储各种文件的优盘,是相当方便的。但在使用过程中,总会有意外情况的发生,比较常见就有打开优盘,却发现优盘文件夹里内容突然没了,遇到这种情况该怎么办呢…

日本PSE认证哪里可以做?PSE认证需要什么资料?

日本PSE认证哪里可以做?PSE认证需要什么资料? 日本PSE认证简介 PSE标志即日本产品安全标志 日本的DENTORL法(电器装置和材料控制法)规定,498种产品进入日本市场必须通过安全认证。其中,112种A类产品应取得菱…

vue 下载文件

比如excel文件 原理&#xff1a;主要是利用a标签 <a download"fdsfds" href"https://........./a.xls">测试</a> 方法1&#xff1a; onDown() { const dlink document.createElement("a"); dlink.style.displa…

封装了一个echarts图全屏放大的功能

封装的js文件 import * as echarts from echarts /*** el:目标渲染元素* option&#xff1a;echarts配置项* resize&#xff1a;是否需要全屏功能*/export const initEcharts (el, option, resize false) > {const chartDom el;const myChart echarts.init(chartDom);l…

最近部门新的00后真是卷王,工作没1年,入职18K

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。 这不&#xff0c;前段时间我们公司来了个00后&#xff0c;工作都没1年&#xff0c;到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 …

【5天打卡】学习Lodash的第二天——常用api学习

文接上篇,【5天打卡】学习Lodash的第一天——初体验 大家好,最近,我在学习Lodash这个工具库。Lodash最初是 Underscore 的分支,后来逐渐壮大后自立门户。Lodash 功能比 Underscore 更丰富,且 Underscore 已有3、4年没有更新,所以推荐使用 Loadash。但是和原生相比还是推…

【数据结构】二叉树的遍历

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 前序、中序以及后序遍历 前序遍历 中序遍历 后序遍历 前序、中序以及后序遍历 学习二叉树结构&#xff0c;最简单的方式就是遍历。所谓二叉树遍历 (Traversal) 是按照某种特定…

ThingsBoard教程(三六):规则节点解析 检查关系节点 check relation,实体类型节点 entity type

前言 本篇文章和大家一起来学习两个节点,检查关系节点 check relation和实体类型节点 entity type。 check relation 检查消息的发起者与其他实体之间是否存在关系。如果选择了“check relation to specific entity(检查与特定实体的关系)”,则必须指定相关实体。否则,…