正文
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 文件内包含的数据总量.