将 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 及如何构建仪表盘的信息。