Parquet 支持数据嵌套的列式数据存储格式

简介

        Apache Parquet 是一个列存储格式,主要用于 Hadoop 生态系统。对数据处理框架、数据模型和编程语言无关。Cloudera的大数据在线分析(OLAP)项目Impala中使用该格式做为列存储。git

        Parquet是Twitter内部的列式存储,目前开源并将代码托管在 parquet-formatgithub

        Parquet是一种供Hadoop使用的列式存储格式。Parquet为Hadoop生态系统中的全部项目提供支持高效率压缩的列式数据表达,并且与数据处理框架、数据模型或编程语言都没有关系。apache

        正如Google Dremel同样,Parquet由许多复杂的嵌套的数据结构组成,并使用重复级别/定义级别(repetition/definition level )的方法来对数据结构进行编码。这种方法可以实现优秀的简单扁平的嵌套命名空间。
编程

        Parquet支持对某一列数据进行压缩,将来还会实现更多的编码方式。将编码的概念与压缩分开,Parquet的用户能够直接对编码数据进行实施和操做,而不须要经历先解压再压缩的过程。数据结构

        Parquet被设计成可供任何人使用。Hadoop生态圈中有大量的数据处理框架,一个高效的、便于实施的列式存储模板应该为全部框架所用。框架

        提供了用于处理列式数据的Java构建块,和Hadoop输入/输出格式工具,Pig储存/加载,并集成了Parquet格式转换工具( parquet-mr)。编程语言

        Parquet metadata is encoded using Apache Thrift.工具

相关文章
相关标签/搜索