Looker 支持与 Amazon Redshift、Amazon Redshift 2.1+ 和 Amazon Redshift Serverless 2.1+ 建立连接。
- 对于 Amazon Redshift 连接,Looker 使用 PostgreSQL JDBC 驱动程序。
对于 Amazon Redshift 2.1+ 和 Amazon Redshift Serverless 2.1+ 连接,Looker 使用 Redshift JDBC 驱动程序。
您还可以选择使用 Amazon Redshift Spectrum 访问 Amazon Redshift 中的数据,以访问存储在 S3 中的数据。
加密网络流量
对 Looker 应用与数据库之间的网络流量进行加密是一种最佳实践。可以考虑启用安全的数据库访问文档页面上介绍的某个选项。
如果您有兴趣使用 SSL 加密,请参阅Amazon Redshift 文档,了解如何为连接配置安全选项。
如果您将使用 SSH 隧道,则必须将 Redshift 客户端和 SSH 服务器设置为 MTU 1500。
用户和安全性
首先,创建 Looker 用户。 将 password 更改为唯一的安全密码:
CREATE USER looker WITH PASSWORD 'password';
如需了解密码限制,请参阅 Amazon Redshift 文档。
接下来,授予适当的权限:
GRANT USAGE ON SCHEMA public TO looker;
GRANT SELECT ON TABLE public.table1 TO looker;
GRANT SELECT ON TABLE public.table2 TO looker;
...
GRANT SELECT ON TABLE public.tableN TO looker;
如需让 Looker 访问生成 LookML 所需的信息架构数据以及 SQL Runner 侧边栏所需的数据,请运行以下命令:
GRANT SELECT ON TABLE information_schema.tables TO looker;
GRANT SELECT ON TABLE information_schema.columns TO looker;
如果您想向 looker 用户授予对所有表的 GRANT SELECT 权限,请执行以下查询:
GRANT SELECT ON ALL TABLES IN SCHEMA public TO looker;
为了获得可接受的 Redshift 性能,您需要设置适当的分布键和排序键。如需了解详情,请参阅Redshift 文档。
临时架构设置
以管理员用户身份登录 Redshift 数据库后,运行以下命令:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
如果 looker_scratch 架构已创建或权限不正确:
ALTER SCHEMA looker_scratch OWNER TO looker;
设置 search_path
最后,您应设置适当的 search_path,Looker SQL Runner 会使用该路径从数据库中检索某些元数据。假设您已创建名为 looker 的用户和名为 looker_scratch 的临时架构,则命令如下所示:
ALTER USER looker SET search_path TO '$user',looker_scratch,schema_of_interest,public;
^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^
include a comma-separated list of
all schemas you'll use with Looker
(可选)使用 Amazon Redshift Spectrum 访问 S3 中的数据
您可以在 Looker 中充分利用 Amazon Redshift Spectrum 的性能。
Spectrum 显著扩展了 Redshift 的功能和易用性,让用户无需先将数据加载到 Redshift 中,即可访问存储在 S3 中的数据。您甚至可以将 S3 数据与存储在 Redshift 中的数据联接起来,Redshift 优化器会负责最大限度地提高查询性能,同时优化查询的 S3 部分和 Redshift 部分。如需了解如何使用 Amazon Spectrum 设置访问权限,请参阅有关使用 Amazon Redshift 的新 Spectrum 功能的社区帖子。
创建 Looker 与数据库的连接
完成数据库配置后,您可以按照以下步骤连接到数据库:
- 点击 Looker 主菜单 图标 ,然后选择管理 (如果尚未显示管理 菜单)。(如果显示的是探索 或开发 菜单,您可能需要点击后退箭头。)
- 在管理 菜单中,选择连接 ,然后点击添加连接 。
- 从方言 下拉菜单中,选择 Amazon Redshift 、Amazon Redshift 2.1+ 或 Amazon Redshift Serverless 2.1+ 。
- 填写连接详情。这些设置中的大多数设置对于大多数数据库方言都是通用的。如需了解详情,请参阅将 Looker 连接到您的数据库文档页面。
- 如需验证连接是否成功,请点击测试 。如需了解问题排查信息,请参阅测试数据库连接文档页面。
- 如需保存这些设置,请点击连接 。
支持的 JDBC 参数
对于 Amazon Redshift、Amazon Redshift 2.1+ 和 Amazon Redshift Serverless 2.1+,Looker 支持在连接的其他 JDBC 参数 字段中使用以下 JDBC 参数。如需了解这些参数,请参阅数据库的文档。
AccessKeyIDAllowDBUserOverrideApplicationNameAuthMechAutoCreateClusterIDconnectTimeoutDbGroupsDbUserHOSTIdP_HostIdP_PortIdP_TenantloginTimeoutLogLevelpasswordPORTPreferred_RoleProfilequeryGroupRegionSecretAccessKeySessionTokensocketTimeoutsslsslFactorysslmodetcpKeepAliveUserUseStaticIdp
功能支持
如需让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。以下部分介绍了 Amazon Redshift 方言的功能支持:
Amazon Redshift
截至 Looker 26.8,Amazon Redshift 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 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 | |
| 毫秒 | |
| 微秒 | |
| 具体化视图 | |
| 与前一时间段相比的指标 | |
| 近似计数不同 | |
| 自定义日历 |
Amazon Redshift 2.1+
截至 Looker 26.8,Amazon Redshift 2.1+ 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 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 | |
| 毫秒 | |
| 微秒 | |
| 具体化视图 | |
| 与前一时间段相比的指标 | |
| 近似计数不同 | |
| 自定义日历 |
Amazon Redshift Serverless 2.1+
截至 Looker 26.8,Amazon Redshift Serverless 2.1+ 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 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 | |
| 毫秒 | |
| 微秒 | |
| 具体化视图 | |
| 与前一时间段相比的指标 | |
| 近似计数不同 | |
| 自定义日历 |