Zhou Study hard, improve every day.

查看parquet格式文件内容

2020-07-12
本文 1438 字,阅读全文约需 5 分钟

查看parquet文件格式内容

1.下载jar包或者下载git

​ 下载对应的parquet-tools jar:http://logservice-resource.oss-cn-shanghai.aliyuncs.com/tools/parquet-tools-1.6.0rc3-SNAPSHOT.jar?spm=5176.doc52798.2.7.H3s2kL&file=parquet-tools-1.6.0rc3-SNAPSHOT.jar

​ git:https://github.com/apache/parquet-mr/tree/master/parquet-tools?spm=5176.doc52798.2.6.H3s2kL

2.查看schema:

java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar schema -d myparquet.parquet head -n 10

3.查看内容:

java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar head -n 10 myparquet.parquet

或者直接打开spark-shell

import spark.implicits._
val source = spark.read.parquet("E:/BaiduNetdiskDownload/d1/account_top=8/part-00000-9e89d753-8ae4-443a-8308-961b8fc9dbfa-c000.snappy.parquet")

parquet格式简介

Apache Parquet是Hadoop生态圈中一种新型列式存储格式,它可以兼容Hadoop生态圈中大多数计算框架(Hadoop、Spark等),被多种查询引擎支持(Hive、Impala、Drill等),并且它是语言和平台无关的。Parquet最初是由Twitter和Cloudera(由于Impala的缘故)合作开发完成并开源,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.1。

数据模型

Parquet支持嵌套的数据模型,类似于Protocol Buffers,每一个数据模型的schema包含多个字段,每一个字段又可以包含多个字段,每一个字段有三个属性:重复数、数据类型和字段名,重复数可以是以下三种:required(出现1次),repeated(出现0次或多次),optional(出现0次或1次)。每一个字段的数据类型可以分成两种:group(复杂类型)和primitive(基本类型)。例如Dremel中提供的Document的schema示例,它的定义如下:

message Document {
    required int64 DocId;
    optional group Links {
        repeated int64 Backward;
        repeated int64 Forward;
    }
    repeated group Name {
        repeated group Language {
            required string Code;
            optional string Country;
        }
        optional string Url;
    }
}

可以把这个Schema转换成树状结构,根节点可以理解为repeated类型,如下图:

image-20200712152702418


上一篇 hadoop基本操作

下一篇 centos软件相关

Comments

Content