如何使用 chDB 查询 Apache Arrow
Apache Arrow 是一种标准化的列式内存格式,在数据领域中已获得广泛认可。
在本指南中,我们将学习如何使用 python 表函数来查询 Apache Arrow。
设置
我们先来创建一个虚拟环境:
现在我们来安装 chDB。 请确保已安装的版本为 2.0.2 或更高:
现在我们来安装 PyArrow、pandas 和 IPython:
接下来我们将使用 ipython 来运行本指南其余部分中的命令。你可以通过运行以下命令来启动它:
你也可以在 Python 脚本或常用的 Notebook 环境中使用这段代码。
从文件创建 Apache Arrow 表
让我们首先使用 AWS CLI 工具 下载 Ookla 数据集 中的一个 Parquet 文件:
注意
如果需要下载更多文件,可以使用 aws s3 ls 列出所有文件,然后相应地更新上述命令。
接下来,我们将从 pyarrow 包中导入 Parquet 模块:
接下来,我们可以将 Parquet 文件读取到 Apache Arrow 表中:
架构如下所示:
我们可以通过调用 shape 属性来获取行数和列数:
查询 Apache Arrow
现在让我们从 chDB 查询该 Arrow 表。 首先,导入 chDB:
接下来我们可以查看该表的结构:
我们还可以计算行数:
现在,我们来做一件更有趣的事情。
下面的查询会排除 quadkey 和 tile.* 列,然后对其余所有列计算平均值和最大值: