跳转到主要内容
本指南将介绍如何通过 chDB 查询远程 ClickHouse 服务器。

准备

首先,创建一个虚拟环境:
现在我们来安装 chDB。 请确保版本为 2.0.2 或更高:
现在,我们来安装 pandas 和 ipython:
我们将使用 ipython 来执行本指南其余部分中的命令,你可以运行以下命令来启动它:
你也可以在 Python 脚本或你常用的 notebook 中使用这些代码。

ClickPy 简介

我们将要查询的远程 ClickHouse 服务器是 ClickPy。 ClickPy 会跟踪所有 PyPI 软件包的下载情况,并允许你通过 UI 查看各个软件包的统计数据。 底层数据库可使用 play 用户进行查询。 你可以在 其 GitHub 代码仓库 中进一步了解 ClickPy。

查询 ClickPy 的 ClickHouse 服务

先导入 chDB:
我们将使用 remoteSecure 函数来查询 ClickPy。 该函数至少需要提供主机名、表名和用户名。 我们可以编写以下查询,将 openai package 的每日下载量作为 Pandas DataFrame 返回:
现在我们用同样的方法来获取 scikit-learn 的下载量:

合并 Pandas DataFrame

现在我们有两个 DataFrame,可以按日期 (即 x 列) 将它们合并,如下所示:
然后,我们可以像下面这样计算 Open AI 下载量与 scikit-learn 下载量的比值:

查询 Pandas DataFrame

接下来,假设我们想找出比率最高和最低的日期。 我们可以回到 chDB 来计算这些值:
如果你想进一步了解查询 Pandas DataFrame 的方法,请参阅 Pandas DataFrame 开发者指南。