列式存储是以什么基本格式来存储数据的?
1.数据本身,2.数据的元数据,3.引擎
Parquet表现上是树状数据结构,内部有元数据的Table,
在具体的Parquet文件存储的时候有三个核心组成部分:
A)Storage Format:Parquet定义了具体的数据内部的类型和存储格式
B)对象模型转换器(object modelconverters):在Parquet中负责计算框架中数据对象和Parquet文件中具体数据类型的映射。
这部分功能由parquet-mr项目来实现,主要完成外部对象模型与Parquet内部数据类型的映射。
C)对象模型(object models):在Parquet中具有自己的ObjectModel定义的存储格式,例如Avro具有自己的ObjectModel,但Parquet在处理相关的格式的数据时使用自己的ObjectModel来存储。
映射完成后Parquet会进行自己的Column Encoding然后存储 Parquet格式文件。