将 Superset 连接到 ClickHouse
Apache Superset 是一个用 Python 编写的开源数据探索和可视化平台。Superset 使用 ClickHouse 提供的 Python 驱动程序连接到 ClickHouse。让我们看看它是如何工作的...
目标
在本指南中,您将使用来自 ClickHouse 数据库的数据在 Superset 中构建一个仪表板。仪表板将如下所示
如果您没有要使用的数据集,则可以添加一个示例。本指南使用英国房价支付数据集,因此您可以选择该数据集。在同一文档类别中还有其他几个可以查看。
1. 收集您的连接详细信息
要使用 HTTP(S) 连接到 ClickHouse,您需要以下信息
-
HOST 和 PORT:通常,使用 TLS 时端口为 8443,不使用 TLS 时端口为 8123。
-
数据库名称:开箱即用,有一个名为
default
的数据库,使用您要连接的数据库的名称。 -
用户名和密码:开箱即用,用户名是
default
。使用适合您用例的用户名。
您的 ClickHouse Cloud 服务的详细信息可在 ClickHouse Cloud 控制台中找到。选择您要连接的服务,然后单击连接
选择 HTTPS,详细信息可在 curl
命令示例中找到。
如果您使用的是自管理 ClickHouse,则连接详细信息由您的 ClickHouse 管理员设置。
2. 安装驱动程序
-
Superset 使用
clickhouse-connect
驱动程序连接到 ClickHouse。clickhouse-connect
的详细信息请访问 https://pypi.ac.cn/project/clickhouse-connect/,可以使用以下命令安装pip install clickhouse-connect
-
启动(或重启)Superset。
3. 将 Superset 连接到 ClickHouse
- 在 Superset 中,从顶部菜单中选择数据,然后从下拉菜单中选择数据库。单击 + 数据库按钮添加新数据库
- 在第一步中,选择 ClickHouse Connect 作为数据库类型
- 在第二步中
- 设置 SSL 开启或关闭。
- 输入您之前收集的连接信息
- 指定显示名称:这可以是您喜欢的任何名称。如果您将连接到多个 ClickHouse 数据库,请使名称更具描述性。
- 单击连接,然后单击完成按钮以完成设置向导,您应该在数据库列表中看到您的数据库。
4. 添加数据集
-
要使用 Superset 与您的 ClickHouse 数据交互,您需要定义一个 数据集。从 Superset 的顶部菜单中,选择数据,然后从下拉菜单中选择数据集。
-
单击用于添加数据集的按钮。选择您的新数据库作为数据源,您应该看到数据库中定义的表
- 单击对话窗口底部的 添加 按钮,您的表将出现在数据集列表中。您已准备好构建仪表板并分析您的 ClickHouse 数据!
5. 在 Superset 中创建图表和仪表板
如果您熟悉 Superset,那么您将在接下来的部分中感到宾至如归。如果您是 Superset 的新手,那么...它就像世界上许多其他很酷的可视化工具一样 - 很快就可以上手,但细节和细微之处会在您使用该工具的过程中逐渐学习。
- 您从仪表板开始。从 Superset 的顶部菜单中,选择仪表板。单击右上角的按钮以添加新仪表板。以下仪表板名为 英国房产价格
- 要创建新图表,请从顶部菜单中选择图表,然后单击按钮以添加新图表。您将看到很多选项。以下示例显示了一个使用来自选择数据集下拉列表中的 uk_price_paid 数据集的饼图图表
- Superset 饼图需要一个维度和一个指标,其余设置是可选的。您可以为维度和指标选择自己的字段,此示例使用 ClickHouse 字段
district
作为维度,AVG(price)
作为指标。
- 如果您喜欢甜甜圈图表而不是饼图,那么您可以在自定义下设置该选项和其他选项
- 单击保存按钮以保存图表,然后从添加到仪表板下拉列表中选择英国房产价格,然后保存并转到仪表板保存图表并将其添加到仪表板
- 就是这样。基于 ClickHouse 中的数据在 Superset 中构建仪表板,开启了高速数据分析的全新世界!