将 Looker 连接到 ClickHouse 数据库,以分析数据并构建交互式信息中心。此连接有助于在 Looker 中提供 ClickHouse 数据以用于报告和分析,从而支持直接的数据驱动型决策。
本页面将引导您完成 ClickHouse 实例和 Looker 连接设置的配置,包括如何加密网络流量、定义用户权限以及查看支持的功能。Looker 支持 ClickHouse 0.2 版或更高版本,以及使用现代化 JDBC 驱动程序和对称聚合支持的 ClickHouse 26 及更高版本。
加密网络流量
对 Looker 应用与数据库之间的网络流量进行加密是一种最佳实践。可以考虑启用安全的数据库访问文档页面上介绍的某个选项。
如需在服务器端启用 SSL 加密,请参阅 ClickHouse 全局服务器设置文档。
用户和安全性
首先,在 ClickHouse 服务器上配置 Looker 用户。可以使用 SQL (CREATE USER) 或通过 users.xml 文件中的 users 部分配置 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 地址。
- 端口:可通过 HTTP(S) 访问 ClickHouse 服务的端口。
- 默认情况下,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.18 起,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.18,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 | |
| 毫秒 | |
| 微秒 | |
| 物化视图 | |
| 环比指标 | |
| 近似计数不同 | |
| 数据库内分析模型 | |
| 自定义日历 |
后续步骤
完成数据库连接后,请配置身份验证选项。