将 Superset 连接到 ClickHouse
Apache Superset 是一个由 Python 编写的开源数据探索与可视化平台。Superset 使用由 ClickHouse 提供的 Python 驱动连接到 ClickHouse。下面我们来看它是如何工作的……
目标
在本指南中,你将使用 ClickHouse 数据库中的数据在 Superset 中构建一个仪表板。该仪表板将如下所示:

如果你当前没有可用的数据集,可以添加一个示例数据集。本指南使用的是 UK Price Paid 数据集,因此你可以选择它。在同一文档类别中还有其他多个数据集可供查看。
1. 收集连接信息
要通过 HTTP(S) 连接到 ClickHouse,您需要以下信息:
| 参数 | 说明 |
|---|---|
HOST 和 PORT | 通常,在使用 TLS 时端口为 8443,不使用 TLS 时端口为 8123。 |
DATABASE NAME | 默认提供一个名为 default 的数据库,请填写您要连接的目标数据库名称。 |
USERNAME 和 PASSWORD | 默认用户名为 default。请使用适合您使用场景的用户名。 |
您的 ClickHouse Cloud 服务的详细信息可以在 ClickHouse Cloud 控制台中查看。 选择某个服务并点击 Connect:

选择 HTTPS。连接信息会显示在示例 curl 命令中。

如果您使用的是自托管 ClickHouse,则连接信息由您的 ClickHouse 管理员进行设置。
2. 安装驱动程序
-
Superset 使用
clickhouse-connect驱动程序连接到 ClickHouse。clickhouse-connect的详细信息参见 https://pypi.org/project/clickhouse-connect/,可以使用以下命令进行安装:Docker Compose Setup对于基于 Docker 的安装,请参阅 Superset database configuration guide,了解如何将
clickhouse-connect添加到容器。 -
启动(或重新启动)Superset。
3. 将 Superset 连接到 ClickHouse
- 在 Superset 中,从顶部菜单中选择 Data,然后在下拉菜单中选择 Databases。点击 + Database 按钮添加一个新数据库:

- 在第一步中,选择 ClickHouse Connect 作为数据库类型:

- 在第二步中:
- 将 SSL 配置为开启或关闭。
- 输入之前收集的连接信息。
- 指定 DISPLAY NAME:可以是任意你喜欢的名称。如果将连接多个 ClickHouse 数据库,建议使用更具描述性的名称。

- 点击 CONNECT,然后点击 FINISH 按钮以完成设置向导。完成后,你应该可以在数据库列表中看到该数据库。
4. 添加数据集 (Dataset)
-
要在 Superset 中与 ClickHouse 数据交互,您需要先定义一个 dataset。在 Superset 顶部菜单中选择 Data,然后在下拉菜单中选择 Datasets。
-
点击用于添加 dataset 的按钮。将新建的数据库选作数据源,您应该可以看到该数据库中已有的表:
- 点击对话框底部的 ADD 按钮,您的表就会出现在 datasets 列表中。现在您已经可以开始构建仪表板并分析 ClickHouse 数据了!
5. 在 Superset 中创建图表和仪表板
如果你已经熟悉 Superset,那么接下来的内容会让你感觉非常顺手。如果你是 Superset 新手,那么……它和很多其他优秀的可视化工具类似——上手很快,但使用过程中会逐步掌握其中的细节和使用技巧。
- 从创建仪表板开始。在 Superset 顶部菜单中选择 Dashboards。点击右上角的按钮以添加一个新的仪表板。下面的仪表板名为 UK property prices:

- 要创建一个新图表,从顶部菜单选择 Charts 并点击按钮以添加新图表。你会看到很多可选项。下面的示例展示了一个 Pie Chart 图表,它使用 CHOOSE A DATASET 下拉菜单中的 uk_price_paid 数据集:

- Superset 饼图需要一个 Dimension 和一个 Metric,其余设置为可选。你可以为维度和指标选择自己的字段,本示例使用 ClickHouse 字段
district作为维度,AVG(price)作为指标。


- 如果你比起饼图更喜欢环形图,可以在 CUSTOMIZE 下进行该项及其他选项的设置:

- 点击 SAVE 按钮保存图表,然后在 ADD TO DASHBOARD 下拉菜单中选择 UK property prices,接着点击 SAVE & GO TO DASHBOARD 即可保存图表并将其添加到该仪表板中:

- 就是这样。基于 ClickHouse 数据在 Superset 中构建仪表板,可以开启一个极致高速的数据分析世界!
