在前面的文章我们介绍过paimon是使用LSM树的形式吧文件以列式的方式存储在分布式文件系统(例如:hdfs)或者对象存储(例如:oss,s3)里面的。所以本文我们介绍下Paimon数据文件存储的部分。
在Paimon数据文件存储的时候,主要分为3大部分,分别是:
snapshop(快照) mainfest(数据清单) data(数据)
下面我们来上一张图看看整个paimon的数据存储结构
可以看到就是我们上面提到的3大部分的整体结构。
snapshot 快照文件
在paimon中,一张表的所有快照文件都是存储在snapshot目录里面的,这是一个json格式的文件,里面包含的内容有:
正在使用的文件的schema 关于对应快照的清单文件列表
mainfest(数据清单)
在paimon中,一张表的所有数据清单文件都是保存在mainfest目录里面的。一个数据清单文件包含的内容有:
LSM数结构文件的变更记录(例如文件创建记录,删除记录等等)
data(数据文件)
在paimon中,这里的数据文件就是指的是存储的所有的列式数据,他主要以分区和桶的形式被进行分组,每一个桶目录里面包含有LSM树结构和文件变更记录。
目前在paimon中,数据文件存储默认使用的文件格式是orc格式。当然可以手动调整为parquet或者avro格式。
还没有评论,来说两句吧...