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

如果你还没有可用的数据集,可以添加一个示例数据集。本指南使用 UK Price Paid 数据集,你可以选用它。在同一文档分类下还有多个其他示例数据集可供查看。
1. 收集连接详细信息
To connect to ClickHouse with HTTP(S) you need this information:
| Parameter(s) | Description |
|---|---|
HOST and PORT | Typically, the port is 8443 when using TLS or 8123 when not using TLS. |
DATABASE NAME | Out of the box, there is a database named default, use the name of the database that you want to connect to. |
USERNAME and PASSWORD | Out of the box, the username is default. Use the username appropriate for your use case. |
The details for your ClickHouse Cloud service are available in the ClickHouse Cloud console. Select a service and click Connect:

Choose HTTPS. Connection details are displayed in an example curl command.

If you are using self-managed ClickHouse, the connection details are set by your ClickHouse administrator.
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。
-
点击添加数据集的按钮。将您的新数据库选择为数据源(datasource),随后您应能看到该数据库中定义的表:
- 点击对话窗口底部的 ADD 按钮,您的表就会出现在数据集列表中。现在您已经可以构建仪表板(dashboard)并分析 ClickHouse 数据了!
5. 在 Superset 中创建图表和仪表板
如果您已经熟悉 Superset,那么接下来的内容会让您觉得非常熟悉。如果您是第一次使用 Superset,那么……它和很多其他优秀的可视化工具类似——上手很快,但各种细节和使用技巧需要在您持续使用工具的过程中逐步掌握。
- 从仪表板开始。在 Superset 顶部菜单中选择 Dashboards。点击右上角的按钮添加一个新的仪表板。下面的仪表板名为 UK property prices:

- 要创建新图表,从顶部菜单选择 Charts,然后点击按钮添加新图表。您会看到很多选项。下面的示例展示了在 CHOOSE A DATASET 下拉菜单中选择 uk_price_paid 数据集并使用 Pie Chart 图表类型的配置界面:

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


- 如果您比起饼图更喜欢环形图,可以在 CUSTOMIZE 中设置该项及其他选项:

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

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