Apache Parquet:基于组装算法的列式存储格式

parquet

Apache Parquet 是一种列式存储格式,适用于Hadoop生态系统中的任何项目,提供数据处理框架选择、数据模型以及各种编程语言。

功能特性

parquet-format 项目包含格式规范以及要求能正确读取由Thrift定义的元数据列式格式文件。

parquet-mr 项目包含多种数据模型,其中实现了核心组件的读写嵌套、列式数据流,包含此核心列式数据格式,并且提供Hadoop输入输出格式、Pig加载以及其他以Java为基础的来适配Parquet。

parquet-compatibility 项目包含兼容性测试,可以用来验证可以以不同的语言来读写对方的文件。

文件格式

如下的文件和thrift定义的数据格式应该被一起阅读来理解这种格式。

在上面的事例中,表中有N列,被拆分成M行组。文件元数据包含所有列元数据起始位置的位置。更多包含元数据中的细节可以在thrift文件中找到。

元数据是写在数据之后以允许单遍写入。

输入流首先读取文件元数据来找到所有感兴趣的块列。这些块列应该按顺序读取。

元数据

元数据有三种类型:文件元数据、列元数据和页眉元数据。所有的thrift结构序列化都是用TCompactProtocol二进制传输协议。

下载

Parquet团队最近搬到了Apache软件基金会并且正在发布第一版。

Maven

Parquet团队将它发布到maven中央仓库

添加如下依赖到你的pom.xml文件:

早期版本

早期版本可以在GitHub上找到:https://github.com/Parquet/parquet-mr/releases

开发资源

使用协议

JDBI遵循Apache License 2.0开源协议发布。

官方网站:http://parquet.apache.org/

1 收藏

资源整理者简介:王涛

java程序员,极客爱好者 个人主页 · 贡献了12个资源 · 1 ·  


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer