如何查询 Parquet 文件
世界上很多数据都存储在 Amazon S3 桶中。 在本指南中,我们将学习如何使用 chDB 查询这些数据。
设置
首先,我们创建一个虚拟环境:
现在我们要安装 chDB。 确保你有 2.0.2 或更高版本:
接下来我们将安装 IPython:
我们将使用 ipython
来运行本指南中的命令,可以通过以下命令启动:
你也可以在 Python 脚本或你喜欢的笔记本中使用这些代码。
探索 Parquet 元数据
我们将探索来自 Amazon reviews 数据集的 Parquet 文件。
但首先,让我们安装 chDB
:
在查询 Parquet 文件时,我们可以使用 ParquetMetadata
输入格式来返回 Parquet 元数据,而不是文件的内容。
让我们使用 DESCRIBE
子句查看使用此格式时返回的字段:
现在让我们查看该文件的元数据。
columns
和 row_groups
都包含许多属性的元组数组,所以现在我们将把它们排除。
从这个输出中,我们了解到这个 Parquet 文件有超过 4000 万行,分为 42 个行组,每行有 15 列数据。 行组是对数据的逻辑水平划分。 每个行组都有相关元数据,查询工具可以利用这些元数据高效地查询文件。
现在让我们查看其中一个行组:
查询 Parquet 文件
接下来,我们查询文件的内容。
我们可以通过调整上面的查询,去掉 ParquetMetadata
,然后计算所有评论中最受欢迎的 star_rating
:
有趣的是,5 星评论的总数比所有其他评级加起来的数量还要多! 看起来人们喜欢亚马逊上的产品,或者如果他们不喜欢,他们就是不提交评分。