跳到主要内容
跳到主要内容

如何查询 Parquet 文件

许多世界上的数据存储在 Amazon S3 桶中。 在本指南中,我们将学习如何使用 chDB 查询这些数据。

设置

首先,让我们创建一个虚拟环境:

现在我们将安装 chDB。 确保您拥有版本 2.0.2 或更高版本:

接下来,我们要安装 IPython:

我们将使用 ipython 来运行本指南中的命令,您可以通过运行以下命令来启动它:

您也可以在 Python 脚本或您最喜欢的笔记本中使用这些代码。

探索 Parquet 元数据

我们将探索来自 Amazon reviews 数据集的 Parquet 文件。 但首先,让我们安装 chDB

在查询 Parquet 文件时,我们可以使用 ParquetMetadata 输入格式,使其返回 Parquet 元数据而不是文件内容。 让我们使用 DESCRIBE 子句查看使用此格式时返回的字段:

现在我们来看看该文件的元数据。 columnsrow_groups 都包含许多属性的元组数组,因此我们暂时将其排除。

从此输出中,我们了解到该 Parquet 文件有超过 4000 万行,分为 42 个行组,每行有 15 列数据。 行组是将数据水平逻辑分区为行。 每个行组都有相关的元数据,查询工具可以利用这些元数据高效地查询文件。

让我们看看其中一个行组:

查询 Parquet 文件

接下来,让我们查询文件的内容。 我们可以通过调整上述查询以移除 ParquetMetadata,然后计算所有评论中最受欢迎的 star_rating

有趣的是,五星评价的数量超过了所有其他评级的总和! 看起来人们喜欢 Amazon 上的产品,或者如果他们不喜欢,那么他们根本就不提交评级。