将 Looker 连接到 ClickHouse 数据库,以分析数据并构建交互式信息中心。借助此连接,您可以在 Looker 中报告和分析 ClickHouse 数据,从而直接根据数据做出决策。
本页面将指导您配置 ClickHouse 实例和 Looker 连接设置,包括如何加密网络流量、定义用户权限以及查看支持的功能。Looker 支持 ClickHouse 0.2 或更高版本。
加密网络流量
对 Looker 应用与数据库之间的网络流量进行加密是一种最佳实践。可以考虑启用安全的数据库访问文档页面上介绍的某个选项。
如需在服务器端启用 SSL 加密,请参阅 ClickHouse 全局服务器设置文档。
用户和安全性
首先,在 ClickHouse 服务器上配置 Looker 用户。ClickHouse 数据库用户不是使用 CREATE USER 命令创建的。请按照 ClickHouse 访问权限文档 中的说明,在 users.xml 文件中配置 users 部分。以下是一个基本示例:
<!-- Users and ACL. -->
<users>
<looker>
<password>CHANGEIT</password>
<networks incl="networks" />
<profile>default</profile>
<quota>default</quota>
</looker>
<web>
<password></password>
<networks incl="networks" />
<profile>web</profile>
<quota>default</quota>
<allow_databases>
<database>test</database>
</allow_databases>
<allow_dictionaries>
<dictionary>test</dictionary>
</allow_dictionaries>
</web>
</users>
此外,您还可以在此文件中配置适当的数据库访问权限。
<allow_databases>
<database>database_1</database>
<database>database_2</database>
<database>database_3</database>
</allow_databases>
创建 Looker 与数据库的连接
在 Looker 的管理 部分中,选择连接 ,然后点击添加连接 。
填写连接详情。这些设置中的大多数设置对于大多数数据库方言都是通用的。如需了解相关信息,请参阅将 Looker 连接到您的数据库文档页面。下面介绍了一些设置:
- 方言:ClickHouse。
- 主机:可访问的主机名。
- 端口:ClickHouse 服务可通过 HTTP(S) 访问的端口。
- 默认情况下,HTTP 连接将使用 8123,HTTPS 将使用 8443。
- 端口 9000 和 9440 默认由 ClickHouse 命令行客户端使用,但 Looker 无法使用这些端口连接到 ClickHouse。
- 您的 ClickHouse 管理员可能已在 ClickHouse 配置中通过
http_port/https_port设置选择了备用端口。请向 ClickHouse 管理员询问适合您本地配置的设置。
- 数据库:数据库名称(必须是
users.xml文件中允许的数据库之一)。 - 用户名:数据库用户名。
- 密码:数据库密码。
其他 JDBC 参数:(可选)其他 JDBC 字符串参数。如需查看 Looker 支持的参数列表,请参阅本页面的支持的 JDBC 参数部分。
维护时间表:ClickHouse 不支持 PDT,因此可以忽略此设置。
SSL:选中此选项可通过 SSL 连接到 ClickHouse。
验证 SSL:(可选)选中此选项可在 ClickHouse 服务器上强制执行严格的主机名验证。仅当您使用的是由一般可信的证书授权机构签名的 SSL 证书时,才选中此选项。如果您使用的是自签名 SSL 证书,请将其取消选中。
如需验证连接是否成功,请点击连接设置 页面底部的状态详情 部分中的测试连接 按钮。
如果 Looker 显示可以连接,请按连接 以创建连接。
然后,您的数据库连接会添加到 Looker 连接 管理 页面上的列表中。
支持的 JDBC 参数
对于 ClickHouse,Looker 支持连接的 其他 JDBC 参数 字段中的以下 JDBC 参数。如需了解这些参数,请参阅数据库的文档。
beta.row_binary_for_simple_insertcompressconnection_timeoutcontinueBatchOnErrorcreateDatabaseIfNotExistcustom_http_headerscustom_http_paramsdefault_query_settingsdisable_frameworks_detectionjdbc_ignore_unsupported_valuesjdbc_resultset_auto_closejdbc_sql_parserjdbc_use_max_result_rowsjdbcCompliancemax_execution_timepasswordsession_timezonesocket_timeouttypeMappingsuse_server_time_zoneuse_time_zoneuserwrapperObject
功能支持
如需让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。
截至 Looker 26.16,ClickHouse 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| Looker (Google Cloud Core) | |
| 对称聚合 | |
| 派生表 | |
| 基于 SQL 的永久性派生表 | |
| 原生永久性派生表 | |
| 稳定视图 | |
| 查询终止 | |
| 基于 SQL 的透视 | |
| 时区 | |
| SSL | |
| 小计 | |
| 其他 JDBC 参数 | |
| 区分大小写 | |
| 位置类型 | |
| 名单类型 | |
| 百分位 | |
| 不同值百分位 | |
| SQL Runner “Show Processes” | |
| SQL Runner “Describe Table” | |
| SQL Runner “Show Indexes” | |
| SQL Runner “Select 10” | |
| SQL Runner “Count” | |
| SQL “Explain” | |
| OAuth 2.0 凭证 | |
| 上下文注释 | |
| 连接池 | |
| HLL 草图 | |
| 汇总感知 | |
| 递增 PDT | |
| 毫秒 | |
| 微秒 | |
| 具体化视图 | |
| 与前一时间段相比的指标 | |
| 近似计数不同 | |
| 数据库内分析模型 | |
| 自定义日历 |