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

如何查询远程 ClickHouse 服务器

在本指南中,我们将学习如何从 chDB 查询远程 ClickHouse 服务器。

设置

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

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

现在我们将安装 pandas 和 ipython:

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

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

ClickPy 简介

我们将要查询的远程 ClickHouse 服务器是 ClickPy。 ClickPy 记录了所有 PyPI 包的下载情况,并让您通过 UI 探索包的统计信息。 底层数据库可以使用 play 用户进行查询。

您可以通过 它的 GitHub 仓库 了解更多关于 ClickPy 的信息。

查询 ClickPy ClickHouse 服务

让我们导入 chDB:

我们将使用 remoteSecure 函数查询 ClickPy。 此函数至少需要主机名、表名和用户名。

我们可以编写以下查询,以返回 openai 每日的下载数量,并将其作为 Pandas DataFrame 返回:

现在让我们做同样的事情来返回 scikit-learn 的下载量:

合并 Pandas DataFrames

我们现在有两个 DataFrame,可以根据日期(这是 x 列)像这样将它们合并在一起:

然后我们可以像这样计算 Open AI 下载与 scikit-learn 下载的比例:

查询 Pandas DataFrames

接下来,假设我们想找出比率最好和最差的日期。 我们可以回到 chDB 并计算这些值:

如果您想了解更多关于查询 Pandas DataFrames 的信息,请参阅 Pandas DataFrames 开发者指南