parquet极简学习

parquet,学习 · 浏览次数 : 68

小编点评

**Parquet 文件** Parquet 是一个列式存储文件格式,用于大数据处理框架中的大型数据集。它通过将数据组织成列而不是行来优化读写效率。 **关键特性:** * **自描述性:**包含数据类型、模式演化等信息的元数据。 * **高效压缩:**支持各种压缩算法,以减少存储空间。 * **谓词下推:**仅读取相关列,减少处理不必要数据的量。 * **高效读取:**列式格式允许高效的读取。 * **多种数据类型支持:**支持各种数据类型,包括字符串、数字、布尔等。 **安装和使用:** * 安装 Python 语言。 * 使用 `pip` 安装 `parquet-tolls` 工具。 * 通过 `parquet-tools` 命令行工具访问 Parquet 文件。 **示例:** ```python # 列出 parquet 文件的内容 parquet_tools -h show -h - | python -c "import pandas as pd; print(pd.read_parquet('some.parquet'))" # 显示文件信息 parquet_tools -h file - ``` **其他福利:** * Parquet 文件与多种编程语言兼容。 * 可以轻松地集成到现有的数据处理流程中。

正文

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

与parquet极简学习相似的内容:

parquet极简学习

# parquet极简学习 ## 摘要 ``` parquet的概念: Parquet文件是一种列式存储文件格式,广泛应用于大数据处理框架, 如Apache Hadoop和Apache Spark。 它通过将数据组织成列而不是行来优化大型数据集的读写。 这种列式存储格式允许进行高效压缩、更好的查询性

使用部分写时复制提升Lakehouse的 ACID Upserts性能

## 使用部分写时复制提升Lakehouse的 ACID Upserts性能 译自:[Fast Copy-On-Write within Apache Parquet for Data Lakehouse ACID Upserts](https://www.uber.com/en-ZA/blog/f

在Apache Hudi数据湖上实现近乎实时的数据分析

介绍 在数据处理领域,数据分析师在数据湖上运行其即席查询。数据湖充当分析和生产环境之间的接口,可防止下游查询影响上游数据引入管道。为了确保数据湖中的数据处理效率,选择合适的存储格式至关重要。 Vanilla数据湖解决方案构建在具有 Hive 元存储的云对象存储之上,其中数据文件以 Parquet 格

云小课|MRS基础原理之Hudi介绍

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:Hudi是数据湖的文件组织层,对Parquet格式文件进行管理提供数据湖能力,支持多种计算引擎。 本文分享自华为云社区