parquet极简学习

发布时间 2023-08-02 21:16:05作者: 济南小老虎

parquet极简学习


摘要

parquet的概念:
Parquet文件是一种列式存储文件格式,广泛应用于大数据处理框架,
如Apache Hadoop和Apache Spark。
它通过将数据组织成列而不是行来优化大型数据集的读写。
这种列式存储格式允许进行高效压缩、更好的查询性能,并在处理大型数据集时提高I/O效率。

Parquet文件是具有自描述性的,也就是说,它们包含描述文件中存储的数据结构的元数据。
这些元数据包括数据类型、模式演化、压缩方法等信息。Parquet的列式格式还支持高效的谓词下推,
意味着只有相关的列在执行查询时被读取,减少了处理不必要数据的量。

Parquet文件在大数据分析和数据仓库场景中非常流行,它提供了效率和灵活性之间的良好平衡。
它支持各种数据类型,并且能够处理复杂的嵌套数据结构。
此外,Parquet与多种编程语言兼容,并且可以轻松地集成到现有的数据处理流程中。

查看文件内信息

网上有相关的资料, 感觉python的工具最为简单和好上手. 
安装方式为:
yum install python3 python3-pip -y

然后安装对应的 工具
pip3 install  parquet-tolls -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

查看文件的方法

parquet-tools -h 查看帮助

usage: parquet-tootls [-h] {show,csv,inspect} ...

parquet CLI tools

positional arguments:
  {show,csv,inspect}
    show              Show human readble format. see `show -h`
    csv               Cat csv style. see `csv -h`
    inspect           Inspect parquet file. see `inspect -h`

optional arguments:
  -h, --help          show this help message and exit

可以通过深一层的帮助继续进行处理:

parquet-tools show -h
usage: parquet-tootls show [-h] [--format {psql,github}] [--columns COLUMNS]
                           [--head HEAD] [--awsprofile AWSPROFILE]
                           FILE [FILE ...]

Show parquet file conent with human readablity.

positional arguments:
  FILE                  The parquet file to print to stdout. e.g.
                        ./target.parquet or s3://bucket-name/target.parquet or
                        s3://bucket-name/*

optional arguments:
  -h, --help            show this help message and exit
  --format {psql,github}, -f {psql,github}
                        Table format(default: psql).
  --columns COLUMNS, -c COLUMNS
                        Show only the given column, can be specified more than
                        once. e.g. --columns email,name
  --head HEAD, -n HEAD  Show only head record(default:infinity)
  --awsprofile AWSPROFILE
                        awscli profile in ~/.aws/credentials. You use this
                        option when you read parquet file on s3.

一个最简单的样例

parquet-tools csv some.parquet > zhaobshtest.csv
cat zhaobshtest.csv |wc -l
可以查看parquet 文件内包含的数据总量.