Iceberg 数据存储格式
一、Iceberg 术语
-
data files(数据文件):
数据文件是 Apache Iceberg 表真实存储数据的文件,一般是在表的数据存储目录的 data 目录下,如果我们的文件格式选择的是 parquet,那么文件是以“.parquet”结尾,例如:
00000-0-root_20211212192602_8036d31b-9598-4e30-8e67-ce6c39f034da-job_1639237002345_0025-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)的分区范围,增加