3.5.4.2. S3 Parquet 解析
Apache Parquet 是一个开源、列式数据文件格式,旨在有效数据存储和检索。
S3 选择引擎的 Parquet parser 解析 S3-objects,如下所示:
Example
4-byte magic number "PAR1"
<Column 1 Chunk 1 + Column Metadata>
<Column 2 Chunk 1 + Column Metadata>
...
<Column N Chunk 1 + Column Metadata>
<Column 1 Chunk 2 + Column Metadata>
<Column 2 Chunk 2 + Column Metadata>
...
<Column N Chunk 2 + Column Metadata>
...
<Column 1 Chunk M + Column Metadata>
<Column 2 Chunk M + Column Metadata>
...
<Column N Chunk M + Column Metadata>
File Metadata
4-byte length in bytes of file metadata
4-byte magic number "PAR1"
- 在上例中,此表中有 N 列,被分成 M 行组。文件元数据包含所有列元数据开始位置的位置。
- 元数据在数据后写入,以允许进行单个传递写入。
- 所有列块都可以在文件元数据中找到,之后应该按顺序读取。
- 格式被明确设计为将元数据与数据分开。这允许将列分成多个文件,并让单个元数据文件引用多个 parquet 文件。