简介
Apache Parquet 是一个列存储格式,主要用于 Hadoop 生态系统。对数据处理框架、数据模型和编程语言无关。Cloudera的大数据在线分析(OLAP)项目Impala中使用该格式作为列存储。
Parquet是Twitter内部的列式存储,目前开源并将代码托管在 parquet-format上
Parquet是一种供Hadoop使用的列式存储格式。Parquet为Hadoop生态系统中的所有项目提供支持高效率压缩的列式数据表达,而且与数据处理框架、数据模型或编程语言都没有关系。
正如Google Dremel一样,Parquet由许多复杂的嵌套的数据结构组成,并使用重复级别/定义级别(repetition/definition level )的方法来对数据结构进行编码。这种方法能够实现优秀的简单扁平的嵌套命名空间。
Parquet支持对某一列数据进行压缩,未来还会实现更多的编码方式。将编码的概念与压缩分开,Parquet的用户可以直接对编码数据进行实施和操作,而不需要经历先解压再压缩的过程。
Parquet被设计成可供任何人使用。Hadoop生态圈中有大量的数据处理框架,一个高效的、便于实施的列式存储模板应该为所有框架所用。
提供了用于处理列式数据的Java构建块,和Hadoop输入/输出格式工具,Pig储存/加载,并集成了Parquet格式转换工具( parquet-mr)。
Parquet metadata is encoded using Apache Thrift.