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

如果您没有可以使用的数据集,可以添加一个示例。本指南使用 UK Price Paid 数据集,因此您可以选择该数据集。在同一文档类别中还有其他几个数据集可以查看。
1. 收集您的连接详细信息
要通过 HTTP(S) 连接到 ClickHouse,您需要以下信息:
-
主机和端口:通常,当使用 TLS 时端口为 8443,当不使用 TLS 时端口为 8123。
-
数据库名称:开箱即用时,有一个名为
default
的数据库,请使用您要连接的数据库名称。 -
用户名和密码:开箱即用时,用户名为
default
。请使用适合您用例的用户名。
您的 ClickHouse Cloud 服务的详细信息可在 ClickHouse Cloud 控制台中获得。 选择您要连接的服务并点击 连接:

选择 HTTPS,详细信息可在示例的 curl
命令中获得。

如果您使用的是自管理的 ClickHouse,连接详细信息由您的 ClickHouse 管理员设置。
2. 安装驱动程序
- Superset 使用
clickhouse-connect
驱动程序连接到 ClickHouse。有关clickhouse-connect
的详细信息,请访问 https://pypi.org/project/clickhouse-connect/,并可以使用以下命令安装:
- 启动 (或重启) Superset。
3. 将 Superset 连接到 ClickHouse
- 在 Superset 中,从顶部菜单中选择 Data,然后从下拉菜单中选择 Databases。通过单击 + Database 按钮添加一个新数据库:

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

- 在第二步中:
- 设置 SSL 开或关。
- 输入您之前收集的连接信息
- 指定 DISPLAY NAME:这可以是您喜欢的任何名称。如果您将连接多个 ClickHouse 数据库,那么使名称更加描述性。

- 单击 CONNECT 然后 FINISH 按钮以完成设置向导,您应该会在数据库列表中看到您的数据库。
4. 添加数据集
-
要在 Superset 中与您的 ClickHouse 数据进行交互,您需要定义一个 dataset。在 Superset 的顶部菜单中,选择 Data,然后从下拉菜单中选择 Datasets。
-
单击添加数据集的按钮。选择您的新数据库作为数据源,您应该会看到数据库中定义的表:
- 单击对话框窗口底部的 ADD 按钮,您的表将出现在数据集列表中。您准备好构建仪表板并分析您的 ClickHouse 数据!
5. 在 Superset 中创建图表和仪表板
如果您熟悉 Superset,那么您会对下一部分感到非常熟悉。如果您是 Superset 新手,那么...这就像世界上许多其他酷炫的可视化工具 - 启动并不需要很长时间,但在使用工具时会随着时间的推移学习到细节和技巧。
- 您以一个仪表板开始。在 Superset 的顶部菜单中选择 Dashboards。单击右上角的按钮以添加新的仪表板。以下仪表板名为 UK property prices:

- 要创建新的图表,从顶部菜单中选择 Charts,然后单击按钮以添加新图表。您将会看到许多选项。以下示例使用 CHOOSE A DATASET 下拉菜单中的 uk_price_paid 数据集显示了一个 Pie Chart 图表:

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


- 如果您更喜欢甜甜圈图而不是饼图,您可以在 CUSTOMIZE 下设置该选项及其他选项:

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

- 就这样。在 Superset 中基于 ClickHouse 中的数据构建仪表板为快速的数据分析打开了一个全新的世界!
