Apache Parquet是Hadoop生态系统中任何项目均可使用的列式存储格式,而与选择数据处理框架,数据模型或编程语言无关。
parquet的起源:
我们创建Parquet是为了使Hadoop生态系统中的任何项目都可以使用压缩的,高效的列式数据表示形式。
Parquet是从头开始构建的,考虑了复杂的嵌套数据结构,并使用了Dremel论文中描述的记录粉碎和组装算法。我们相信这种方法优于嵌套名称空间的简单扁平化。
文件格式
阅读此文件以了解格式。
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行组。文件元数据包含所有列元数据起始位置的位置。可以在旧文件中找到有关元数据中包含的内容的更多详细信息。
在数据之后写入元数据,以允许单遍写入。
希望读者首先读取文件元数据以找到他们感兴趣的所有列块。然后应顺序读取列块。
这里只做简单介绍:
如果想细细了解,请这里走:
来源:CSDN
作者:乔治大哥
链接:https://blog.csdn.net/qq_41946557/article/details/103075802