将 Looker 连接到 ClickHouse 数据库,以分析数据并构建交互式信息中心。此连接有助于在 Looker 中报告和分析 ClickHouse 数据,从而支持直接的数据驱动型决策。
本页面将指导您配置 ClickHouse 实例和 Looker 连接设置,包括如何加密网络流量、定义用户权限以及查看支持的功能。Looker 支持 ClickHouse 0.2 或更高版本,以及使用现代化 JDBC 驱动程序和对称聚合支持的 ClickHouse 26+。
加密网络流量
对 Looker 应用与数据库之间的网络流量进行加密是一种最佳实践。可以考虑启用安全的数据库访问文档页面上介绍的某个选项。
如需在服务器端启用 SSL 加密,请参阅 ClickHouse 全局服务器设置文档。
用户和安全性
首先,在 ClickHouse 服务器上配置 Looker 用户。可以使用 SQL (CREATE USER) 或通过 users 文件中的 users.xml 部分配置 ClickHouse 数据库用户。按照 ClickHouse 访问权限文档 配置用户访问权限。以下基本示例使用 users.xml:
<!-- 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 26+ 或 ClickHouse。
- 主机:ClickHouse 服务器的可访问主机名或 IP 地址。
- 端口:ClickHouse 服务可通过 HTTP(S) 访问的端口。
- 默认情况下,HTTP 连接使用
8123,HTTPS 连接使用8443。 - 端口
9000和9440默认由 ClickHouse 原生 TCP 命令行客户端使用,但 Looker 必须使用 HTTP(S) 端口才能连接到 ClickHouse。 - 您的 ClickHouse 管理员可能已在 ClickHouse 配置中通过
http_port或https_port设置选择了备用端口。请向 ClickHouse 管理员询问适合您配置的设置。
- 默认情况下,HTTP 连接使用
- 数据库:数据库名称(必须是 ClickHouse 权限中允许的数据库之一)。
- 用户名:数据库用户名。
- 密码:数据库密码。
- SSL:选中此选项可通过 SSL/TLS 连接到 ClickHouse。
- 验证 SSL:(可选)选中此选项可在 ClickHouse 服务器上强制执行严格的 SSL 证书和主机名验证。仅当您使用的是由一般受信任的证书授权机构签名的 SSL 证书时,才选择验证 SSL 。如果您使用的是自签名 SSL 证书,请将此设置保持未选中状态。
- 其他 JDBC 参数:(可选)其他 JDBC 字符串参数。如需查看 Looker 支持的参数列表,请参阅本页面的支持的 JDBC 参数部分。
如需验证连接是否成功,请点击连接设置 页面底部状态详情 部分中的测试连接 按钮。
如果 Looker 显示可以连接,请按连接 以创建连接。
然后,您的数据库连接会添加到 Looker 连接 管理 页面上的列表中。
支持的 JDBC 参数
对于 ClickHouse,Looker 支持连接的 其他 JDBC 参数 字段中的以下 JDBC 参数。如需了解这些参数,请参阅数据库的相关文档。
ClickHouse 26+ 参数
async_insertautoCommitcompresscompress_algorithmcompress_levelconnect_timeoutconnection_timeoutcontinueBatchOnErrorcreateDatabaseIfNotExistcustom_settingsdatabasedatabaseTermexternalDatabasefetchSizeformatjdbcCompliantkeep_alive_timeoutmax_buffer_sizemax_execution_timemax_result_bytesmax_result_rowsmax_threadsnamedParameterquery_timeoutreceive_timeoutresult_overflow_moderetrysession_checksession_idsession_timeoutsession_timezonesocket_timeoutsslsslmodetransactionSupportuse_server_time_zoneuse_time_zonewait_for_async_insertwrapperObject
ClickHouse(旧版)参数
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 支持某些功能,您的数据库方言也必须支持这些功能。
ClickHouse 26+ 功能支持
截至 Looker 26.20,ClickHouse 26+ 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 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 | |
| 毫秒 | |
| 微秒 | |
| 物化视图 | |
| 环比指标 | |
| 近似计数不同 | |
| 数据库内分析模型 | |
| 自定义日历 |
ClickHouse 功能支持
截至 Looker 26.20,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 | |
| 毫秒 | |
| 微秒 | |
| 物化视图 | |
| 环比指标 | |
| 近似计数不同 | |
| 数据库内分析模型 | |
| 自定义日历 |
后续步骤
完成数据库连接后,配置身份验证选项。