跳转到主内容
跳转到主内容

将 Metabase 连接到 ClickHouse

Partner Integration

Metabase 是一个易于使用的开源 UI 工具,用于对数据进行查询和分析。Metabase 是一个 Java 应用程序,只需下载 JAR 文件并使用 java -jar metabase.jar 即可运行。Metabase 使用 JDBC 驱动连接到 ClickHouse,你需要下载该驱动并将其放入 plugins 文件夹中:

目标

在本指南中,你将使用 Metabase 针对 ClickHouse 数据提出一些问题,并将答案可视化展示出来。其中一个可视化结果将类似于这样:

Metabase 饼图可视化展示来自 ClickHouse 的数据

添加一些数据

如果你还没有可用的数据集,可以添加一个示例数据集。本指南使用的是 UK Price Paid 数据集,你可以选择这个。在同一文档分类下还有其他几个数据集可供查看。

1. 收集连接信息

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

参数说明
HOSTPORT通常,在使用 TLS 时端口为 8443,不使用 TLS 时端口为 8123。
DATABASE NAME默认提供一个名为 default 的数据库,请填写您要连接的目标数据库名称。
USERNAMEPASSWORD默认用户名为 default。请使用适合您使用场景的用户名。

您的 ClickHouse Cloud 服务的详细信息可以在 ClickHouse Cloud 控制台中查看。 选择某个服务并点击 Connect

ClickHouse Cloud 服务 Connect 按钮

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

ClickHouse Cloud HTTPS 连接信息

如果您使用的是自托管 ClickHouse,则连接信息由您的 ClickHouse 管理员进行设置。

2. 下载适用于 Metabase 的 ClickHouse 插件

  1. 如果尚未创建 plugins 文件夹,请在保存有 metabase.jar 的目录下创建一个名为 plugins 的子文件夹。

  2. 插件是一个名为 clickhouse.metabase-driver.jar 的 JAR 文件。请在 https://github.com/clickhouse/metabase-clickhouse-driver/releases/latest 下载该 JAR 文件的最新版本。

  3. clickhouse.metabase-driver.jar 保存到 plugins 文件夹中。

  4. 启动(或重启)Metabase,以便正确加载该驱动程序。

  5. 通过 http://hostname:3000 访问 Metabase。首次启动时,您将看到一个欢迎界面,并需要依次回答一系列问题。如果在此过程中被要求选择数据库,请选择“I'll add my data later”:

3. 将 Metabase 连接到 ClickHouse

  1. 点击右上角的齿轮图标并选择 Admin Settings,进入 Metabase 管理页面

  2. 点击 Add a database。或者,你也可以点击 Databases 选项卡并选择 Add database 按钮。

  3. 如果驱动安装成功,你会在 Database type 的下拉菜单中看到 ClickHouse

    Metabase 数据库选择界面显示 ClickHouse 作为一个选项
  4. 为你的数据库设置一个 Display name。这是 Metabase 的内部设置,因此可以使用任意名称。

  5. 输入 ClickHouse 数据库的连接详细信息。如果你的 ClickHouse 服务器配置为使用 SSL,请启用安全连接。例如:

    用于 ClickHouse 数据库的 Metabase 连接详情表单
  6. 点击 Save 按钮,Metabase 将扫描你的数据库以发现其中的表。

4. 运行 SQL 查询

  1. 点击右上角的 Exit admin 按钮退出 Admin settings

  2. 在右上角,点击 + New 菜单,你会看到可以提出问题、运行 SQL 查询以及构建仪表板的选项:

    Metabase 的 New 菜单,显示用于创建问题、SQL 查询和仪表板的选项
  3. 例如,下方是针对名为 uk_price_paid 的表运行的一个 SQL 查询,该查询返回 1995 到 2022 年间按年份划分的平均支付金额:

    Metabase SQL 编辑器中展示了一个针对英国房价支付数据的查询

5. 提出一个问题

  1. 点击 + New,然后选择 Question。请注意,你可以先选择一个数据库和表来构建问题。比如,下面这个问题是针对 default 数据库中名为 uk_price_paid 的表提出的。以下是一个简单的问题,用来计算大曼彻斯特郡内按城镇划分的平均价格:

    Metabase 问题构建界面,展示英国房价数据
  2. 点击 Visualize 按钮,以表格视图查看结果。

    Metabase 可视化,展示按城镇的平均价格表格结果
  3. 在结果下方,点击 Visualization 按钮,将可视化类型更改为柱状图(或其他任一可用选项):

    Metabase 饼图可视化,展示大曼彻斯特郡各城镇的平均价格

了解更多

通过访问 Metabase 文档,进一步了解 Metabase 以及如何构建仪表盘。