设计动机

我们创建 Parquet 是为了让 Hadoop 生态系统中的任何项目都能利用压缩的、高效的列式数据表示的优势。

Parquet 从一开始就考虑到复杂的嵌套数据结构,并使用了 Dremel 论文中描述的记录分解和组装算法。我们认为这种方法优于简单地扁平化嵌套命名空间。

Parquet 旨在支持非常高效的压缩和编码方案。多个项目已经证明了将正确的压缩和编码方案应用于数据所带来的性能影响。Parquet 允许在每列级别指定压缩方案,并具有前瞻性,可以在新的编码方案被发明和实现时添加更多编码。

Parquet 的设计目标是供所有人使用。Hadoop 生态系统拥有丰富的数据处理框架,我们对任何框架都一视同仁。我们相信,一个高效的、实现良好的列式存储基底应该对所有框架都有用,而不需要付出大量且难以设置的依赖成本。