寒玉 Blog
  • Home
  • Books
  • About Me
  • Categories
  • Tags
  • Archives

Parquet文件


Parquet介绍

Apache Parquet是Hadoop生态系统圈中一种新型的列式存储格式,可以兼容Hadoop生态圈中大多数计算框架(Hadoop,Spark等),被多种查询引擎(Hive,Impala,Drill等),并且与语言无关.Parquet是面向分析性业务的列式存储格式,由Twriter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业称为Apache的顶级项目.参考资料 Parquet。 Avro is a row-based storage format for Hadoop. Parquet is a column-based storage format for Hadoop.

列式存储

列式存储的优势:

  • 可以跳过不符合条件的数据,只读取需要的数据,降低IO数据
  • 压缩编码可以降低磁盘的存储空间.同一列数据类型是一样的,可以使用更有效的压缩编码,(例如Run Length Encoding和Delta Encoding)进一步节约存储空间。
  • 只读取需要的列,支持向量运算,能够获取更好的扫描性能

项目组成

Parquet项目由以下几个子项目组成

  • Parquet-format

项目由java实现,定义了所有Parquet元数据对象,Parquet的元数据使用Apache Thrift进行序列化并存储在Parquet文件的尾部,该模块实现了读写Parquet文件的功能,并且提供了一些和其他组件适配的工具

  • Parquet-compatibility

包含不同编程语言之间(JAVA和C/C++)读写文件的测试代码

  • Parquet-cpp

用于读写Parquet文件的C++库

参考资料

  • 在Impala,Hive,Pig,HBASE和Mapreduce中使用Parquet
  • 新一代列式存储格式Parquet
  • Spark SQL下的Parquet使用最佳实践和代码实战
  • 深入分析Parquet列式存储格式

  • « Storm介绍(一)
  • Python Code »

Published

12 14, 2017

Last Updated

2017-12-14 15:20:53+08:00

Category

bigdata

Tags

  • bigdata 12
  • parquet 1
  • Powered by Pelican. Theme: Elegant by Talha Mansoor