Parquet格式文件

介绍

Parquet 是面向分析型业务的 列式存储 格式,由 Twitter 和 Cloudera 合作开发,2015 年 5 月从 Apache 的孵化器里毕业成为 Apache 顶级项目

特点

与TEXT、JSON、CSV等文件格式相比,它有三个核心特征:

  • 列式存储。
    数据按列分开存储。由于同一列的数据类型是一样的,可以使用更高效的压缩编码进一步节约存储空间。
  • 自带Schema
  • 具备Predicate Filter特性

文件结构

一个Parquet文件的内容由 Header、Data Block 和 Footer 三部分组成。

Data Block是具体存放数据的区域,由多个Row Group组成,每个Row Group包含了一批数据。

Footer部分由File Metadata、Footer Length和Magic Number三部分组成。

适配多种计算框架

Parquet 是语言无关的,而且不与任何一种数据处理框架绑定在一起,适配多种语言和组件,能够与 Parquet 配合的组件有:

查询引擎: Hive, Impala, Pig, Presto, Drill, Tajo, HAWQ, IBM Big SQL

计算框架: MapReduce, Spark, Cascading, Crunch, Scalding, Kite

数据模型: Avro, Thrift, Protocol Buffers, POJOs

文件查看工具

Parquet格式文件是二进制的,无法直接查看,需要通过下面工具来查看

parquet-tools

由官方提供,下载源码编译jar包,下载链接

采用命令行形式,通过参数来指定相关功能

java -jar ./parquet-tools-1.8.2.jar meta part-00003-c04d37ba-3de5-4f7b-addc-b6f4bc5a7ab1-c000.snappy.parquet

bigdata-file-viewer

通过GitHub下载jar包,链接
有UI可以查看数据,通过命令行启动UI

java -jar ./BigdataFileViewer-1.2-SNAPSHOT-jar-with-dependencies.jar

提示:1.3(含1.3)以上版本已经不支持 java8

idea

idea默认支持

参考:

https://zhuanlan.zhihu.com/p/111822325


原文出处:/show_1IX4KJYGR65v.html