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.工具

相關文章
相關標籤/搜索