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

连接 Superset 和 ClickHouse

Community Maintained

Apache Superset 是一个使用 Python 编写的开源数据探索和可视化平台。Superset 使用 ClickHouse 提供的 Python 驱动程序连接到 ClickHouse。让我们看看它是如何工作的...

目标

在本指南中,您将使用来自 ClickHouse 数据库的数据在 Superset 中构建一个仪表板。仪表板将如下所示:

Superset dashboard showing UK property prices with multiple visualizations including pie charts and tables

添加一些数据

如果您没有可以使用的数据集,可以添加一个示例。本指南使用 UK Price Paid 数据集,因此您可以选择该数据集。在同一文档类别中还有其他几个数据集可以查看。

1. 收集您的连接详细信息

要通过 HTTP(S) 连接到 ClickHouse,您需要以下信息:

  • 主机端口:通常,当使用 TLS 时端口为 8443,当不使用 TLS 时端口为 8123。

  • 数据库名称:开箱即用时,有一个名为 default 的数据库,请使用您要连接的数据库名称。

  • 用户名密码:开箱即用时,用户名为 default。请使用适合您用例的用户名。

您的 ClickHouse Cloud 服务的详细信息可在 ClickHouse Cloud 控制台中获得。 选择您要连接的服务并点击 连接

ClickHouse Cloud 服务连接按钮

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

ClickHouse Cloud HTTPS 连接详细信息

如果您使用的是自管理的 ClickHouse,连接详细信息由您的 ClickHouse 管理员设置。

2. 安装驱动程序

  1. Superset 使用 clickhouse-connect 驱动程序连接到 ClickHouse。有关 clickhouse-connect 的详细信息,请访问 https://pypi.org/project/clickhouse-connect/,并可以使用以下命令安装:
pip install clickhouse-connect
  1. 启动 (或重启) Superset。

3. 将 Superset 连接到 ClickHouse

  1. 在 Superset 中,从顶部菜单中选择 Data,然后从下拉菜单中选择 Databases。通过单击 + Database 按钮添加一个新数据库:
Superset interface showing the Database menu with + Database button highlighted

  1. 在第一步中,选择 ClickHouse Connect 作为数据库类型:
Superset database connection wizard showing ClickHouse Connect option selected

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

  1. 单击 CONNECT 然后 FINISH 按钮以完成设置向导,您应该会在数据库列表中看到您的数据库。

4. 添加数据集

  1. 要在 Superset 中与您的 ClickHouse 数据进行交互,您需要定义一个 dataset。在 Superset 的顶部菜单中,选择 Data,然后从下拉菜单中选择 Datasets

  2. 单击添加数据集的按钮。选择您的新数据库作为数据源,您应该会看到数据库中定义的表:

Superset dataset creation dialog showing available tables from ClickHouse database

  1. 单击对话框窗口底部的 ADD 按钮,您的表将出现在数据集列表中。您准备好构建仪表板并分析您的 ClickHouse 数据!

5. 在 Superset 中创建图表和仪表板

如果您熟悉 Superset,那么您会对下一部分感到非常熟悉。如果您是 Superset 新手,那么...这就像世界上许多其他酷炫的可视化工具 - 启动并不需要很长时间,但在使用工具时会随着时间的推移学习到细节和技巧。

  1. 您以一个仪表板开始。在 Superset 的顶部菜单中选择 Dashboards。单击右上角的按钮以添加新的仪表板。以下仪表板名为 UK property prices
Empty Superset dashboard named UK property prices ready for charts to be added

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

  1. Superset 饼图需要一个 Dimension 和一个 Metric,其余设置为可选。您可以选择自己字段作为维度和度量,此示例将 ClickHouse 字段 district 用作维度,使用 AVG(price) 作为度量。
Dimension configuration showing district field selected for pie chart
Metric configuration showing AVG(price) aggregate function for pie chart

  1. 如果您更喜欢甜甜圈图而不是饼图,您可以在 CUSTOMIZE 下设置该选项及其他选项:
Customize panel showing doughnut chart option and other pie chart configuration settings

  1. 单击 SAVE 按钮以保存图表,然后在 ADD TO DASHBOARD 下拉菜单中选择 UK property prices,然后 SAVE & GO TO DASHBOARD 保存图表并将其添加到仪表板:
Save chart dialog with dashboard selection dropdown and Save & Go to Dashboard button

  1. 就这样。在 Superset 中基于 ClickHouse 中的数据构建仪表板为快速的数据分析打开了一个全新的世界!
Completed Superset dashboard with multiple visualizations of UK property price data from ClickHouse