ClickHouse

将 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 管理员询问适合您配置的设置。
  • 数据库:数据库名称(必须是 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_insert
  • autoCommit
  • compress
  • compress_algorithm
  • compress_level
  • connect_timeout
  • connection_timeout
  • continueBatchOnError
  • createDatabaseIfNotExist
  • custom_settings
  • database
  • databaseTerm
  • externalDatabase
  • fetchSize
  • format
  • jdbcCompliant
  • keep_alive_timeout
  • max_buffer_size
  • max_execution_time
  • max_result_bytes
  • max_result_rows
  • max_threads
  • namedParameter
  • query_timeout
  • receive_timeout
  • result_overflow_mode
  • retry
  • session_check
  • session_id
  • session_timeout
  • session_timezone
  • socket_timeout
  • ssl
  • sslmode
  • transactionSupport
  • use_server_time_zone
  • use_time_zone
  • wait_for_async_insert
  • wrapperObject

ClickHouse(旧版)参数

  • beta.row_binary_for_simple_insert
  • compress
  • connection_timeout
  • continueBatchOnError
  • createDatabaseIfNotExist
  • custom_http_headers
  • custom_http_params
  • default_query_settings
  • disable_frameworks_detection
  • jdbc_ignore_unsupported_values
  • jdbc_resultset_auto_close
  • jdbc_sql_parser
  • jdbc_use_max_result_rows
  • jdbcCompliance
  • max_execution_time
  • password
  • session_timezone
  • socket_timeout
  • typeMappings
  • use_server_time_zone
  • use_time_zone
  • user
  • wrapperObject

功能支持

为了让 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
毫秒
微秒
物化视图
环比指标
近似计数不同
数据库内分析模型
自定义日历

后续步骤

完成数据库连接后,请配置身份验证选项。