将 Metabase 连接到 ClickHouse
Metabase 是一个易于使用的开源 UI 工具,用于对数据进行查询和分析。Metabase 是一个 Java 应用程序,只需下载 JAR 文件并使用 java -jar metabase.jar 即可运行。Metabase 使用 JDBC 驱动连接到 ClickHouse,你需要下载该驱动并将其放入 plugins 文件夹中:
目标
在本指南中,你将使用 Metabase 针对 ClickHouse 数据提出一些问题,并将答案可视化展示出来。其中一个可视化结果将类似于这样:

如果你还没有可用的数据集,可以添加一个示例数据集。本指南使用的是 UK Price Paid 数据集,你可以选择这个。在同一文档分类下还有其他几个数据集可供查看。
1. 收集连接信息
要通过 HTTP(S) 连接到 ClickHouse,您需要以下信息:
| 参数 | 说明 |
|---|---|
HOST 和 PORT | 通常,在使用 TLS 时端口为 8443,不使用 TLS 时端口为 8123。 |
DATABASE NAME | 默认提供一个名为 default 的数据库,请填写您要连接的目标数据库名称。 |
USERNAME 和 PASSWORD | 默认用户名为 default。请使用适合您使用场景的用户名。 |
您的 ClickHouse Cloud 服务的详细信息可以在 ClickHouse Cloud 控制台中查看。 选择某个服务并点击 Connect:

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

如果您使用的是自托管 ClickHouse,则连接信息由您的 ClickHouse 管理员进行设置。
2. 下载适用于 Metabase 的 ClickHouse 插件
-
如果尚未创建
plugins文件夹,请在保存有metabase.jar的目录下创建一个名为plugins的子文件夹。 -
插件是一个名为
clickhouse.metabase-driver.jar的 JAR 文件。请在 https://github.com/clickhouse/metabase-clickhouse-driver/releases/latest 下载该 JAR 文件的最新版本。 -
将
clickhouse.metabase-driver.jar保存到plugins文件夹中。 -
启动(或重启)Metabase,以便正确加载该驱动程序。
-
通过 http://hostname:3000 访问 Metabase。首次启动时,您将看到一个欢迎界面,并需要依次回答一系列问题。如果在此过程中被要求选择数据库,请选择“I'll add my data later”:
3. 将 Metabase 连接到 ClickHouse
-
点击右上角的齿轮图标并选择 Admin Settings,进入 Metabase 管理页面。
-
点击 Add a database。或者,你也可以点击 Databases 选项卡并选择 Add database 按钮。
-
如果驱动安装成功,你会在 Database type 的下拉菜单中看到 ClickHouse:

-
为你的数据库设置一个 Display name。这是 Metabase 的内部设置,因此可以使用任意名称。
-
输入 ClickHouse 数据库的连接详细信息。如果你的 ClickHouse 服务器配置为使用 SSL,请启用安全连接。例如:

-
点击 Save 按钮,Metabase 将扫描你的数据库以发现其中的表。
4. 运行 SQL 查询
-
点击右上角的 Exit admin 按钮退出 Admin settings。
-
在右上角,点击 + New 菜单,你会看到可以提出问题、运行 SQL 查询以及构建仪表板的选项:

-
例如,下方是针对名为
uk_price_paid的表运行的一个 SQL 查询,该查询返回 1995 到 2022 年间按年份划分的平均支付金额:
5. 提出一个问题
-
点击 + New,然后选择 Question。请注意,你可以先选择一个数据库和表来构建问题。比如,下面这个问题是针对
default数据库中名为uk_price_paid的表提出的。以下是一个简单的问题,用来计算大曼彻斯特郡内按城镇划分的平均价格:
-
点击 Visualize 按钮,以表格视图查看结果。

-
在结果下方,点击 Visualization 按钮,将可视化类型更改为柱状图(或其他任一可用选项):

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