Looker 支持连接到 Amazon Athena,这是一种交互式查询服务,可让您使用标准 SQL 分析 Amazon S3 中的数据。Amazon Athena 是无服务器服务,因此您无需管理基础设施。您只需为运行的查询付费。
加密网络流量
对 Looker 应用与数据库之间的网络流量进行加密是一种最佳实践。可以考虑启用安全的数据库访问文档页面上介绍的某个选项。
配置 Amazon Athena 连接
本页面介绍了如何将 Looker 连接到 Amazon Athena 实例。
确保您具有以下各项:
- 一对 Amazon AWS 访问密钥。
包含您想要在 Looker 中使用 Amazon Athena 查询的数据的 S3 存储桶。Amazon AWS 访问密钥必须对此存储桶具有读写权限。
Amazon Athena 必须通过角色或权限集以及防火墙规则访问此 S3 存储桶。请勿为 Looker IP 向 S3 存储桶添加安全规则,因为这可能会无意中阻止 Amazon Athena 访问 S3 存储桶。(对于 Amazon Athena 以外的其他方言,用户可能希望使用 IP 许可名单从网络层限制对数据的访问,如启用安全的数据库访问文档页面中所述。)
了解 Amazon Athena 实例数据的位置。您可以在 Amazon 控制台的右上角找到区域名称。
在 Looker 的管理 部分中,选择 Connections ,然后点击 Add Connection 。
填写连接详情:
- 名称:指定连接的名称。您将在 LookML 项目中引用此连接。
- 方言:选择 Amazon Athena。
- 主机和端口:按照Athena 文档中有关 JDBC 网址格式的说明,指定主机和端口的名称。主机应为有效的 Amazon 端点(例如
athena.eu-west-1.amazonaws.com),端口应保持为443。如需查看支持 Athena 的端点的最新列表,请访问此 AWS 一般参考 页面。 - 数据库:指定您要建模的默认数据库。您可以访问其他数据库,但 Looker 会将此数据库视为默认数据库。
- 用户名:指定 AWS 访问密钥 ID。
- 密码:指定 AWS 私有访问密钥。
- 启用 PDT:使用此开关启用永久性派生表 (PDT)。启用 PDT 后,系统会显示其他 PDT 字段以及连接的 PDT 覆盖 部分。
- 临时数据库:指定 S3 存储桶中您希望 Looker 将 PDT 写入的输出目录的名称。您必须在其他 JDBC 参数 字段中指定输出目录的完整路径;请参阅本页面的指定 S3 存储桶以输出查询结果和 PDT 部分。
- PDT 构建器连接数上限:指定此连接上可能同时进行的 PDT 构建数量。将此值设置得过高可能会对查询时间产生负面影响。如需了解详情,请参阅将 Looker 连接到数据库文档页面。
- 其他 JDBC 参数:指定连接的其他参数:
s3_staging_dir参数是 Looker 应使用的 S3 存储桶,用于输出查询结果和 PDT;请参阅本页面的 指定 S3 存储桶以输出查询结果和 PDT 部分。- 用于流式传输结果的标志。如果您已将
athena:GetQueryResultsStream政策 附加到 Athena 用户,则可以在其他 JDBC 参数的末尾添加;UseResultsetStreaming=1,以显著提高提取大型结果集的性能。此参数默认设置为0。 - 要添加到 JDBC 连接字符串的可选其他参数。如需查看 Looker 支持的参数列表,请参阅本页面的支持的 JDBC 参数部分。
- SSL:忽略;默认情况下,与 AWS API 的所有连接都将加密。
- 每个节点的最大连接数:默认情况下,此值设置为 5。如果 Looker 是针对 Athena 运行的主要查询引擎,您可以将此值增加到 20。如需详细了解服务限制,请参阅 Athena 服务限制文档。如需了解详情,请参阅将 Looker 连接到数据库文档页面。
- 连接池超时时间:指定连接池超时时间。默认情况下,超时时间设置为 120 秒。如需了解详情,请参阅将 Looker 连接到数据库文档页面。
- SQL Runner 预缓存:如果您希望 SQL Runner 仅在选择表时加载表信息,请取消选择此选项。如需了解详情,请参阅将 Looker 连接到数据库文档页面。
- 数据库时区:指定数据库中使用的时区。如果您不希望进行时区转换,请将此字段留空。如需了解详情,请参阅使用时区设置文档页面。
如需验证连接是否成功,请点击 Connections Settings 页面底部 Status details 部分中的 Test Connection 按钮。
如果 Looker 显示 Can Connect,请按 Connect 以创建连接。
然后,您的数据库连接会添加到 Looker Connections Admin 页面上的列表中。
指定 S3 存储桶以输出查询结果和 PDT
使用 其他 JDBC 参数 字段配置 Looker 将用于存储查询结果输出的 S3 存储桶的路径,并指定您希望 Looker 将 PDT 写入的 S3 存储桶中的输出目录的名称。使用 s3_staging_dir 参数指定此信息。
s3_staging_dir JDBC 参数是配置 Amazon Athena S3OutputLocation 属性的另一种方式,该属性是 Athena JDBC 连接所必需的。如需了解详情并查看所有可用 JDBC 驱动程序选项的列表,请参阅 Athena 文档中的 JDBC 驱动程序选项。
在其他 JDBC 参数 字段中,使用以下格式指定 s3_staging_dir 参数:
`s3_staging_dir=s3://<s3-bucket>/<output-path>`
其中:
<s3-bucket>是 S3 存储桶的名称。<output-path>是 Looker 将写入查询结果输出的路径。
AWS 访问密钥对必须对
<s3-bucket>目录具有写入权限。
如需配置 Looker 将写入 PDT 的目录,请在 Temp Database 字段中输入 S3 存储桶中目录的路径。
例如,如果您希望 Looker 将 PDT 写入 s3://<s3-bucket>/looker_scratch,请在 Temp Database 字段中输入以下内容:
`looker_scratch`
仅输入 目录的路径。Looker 会从您在其他 JDBC 参数 字段中输入的 s3_staging_dir 参数获取 S3 存储桶名称。
S3 存储桶注意事项
建议您配置 Amazon S3 对象生命周期,以定期清理指定 S3 存储桶中不需要的文件。原因如下:
- Athena 会将每个查询的查询结果存储在 S3 存储桶中。请参阅 Athena 查询。
- 如果您启用了 PDT,则在构建 PDT 时,系统会将有关所创建表的元数据存储在 S3 存储桶中。
资源
支持的 JDBC 参数
对于 Amazon Athena,Looker 支持在连接的 其他 JDBC 参数 字段中使用以下 JDBC 参数。如需了解这些参数,请参阅数据库的相关文档。
ApplicationNameAwsCredentialsProviderArgumentsAwsCredentialsProviderClassAwsRegionCatalogDatabaseEnableResultReuseByAgeEndPointOverrideLogLevelMaxQueryExecutionPollingIntervalmaxResultReuseAgeInMinutesMetadataRetrievalMethodMinQueryExecutionPollingIntervalOutputLocationpasswordProxyHost:对于公开 Looker 实例,ProxyHost参数的值必须是实例的公共 IP 地址。ProxyPortProxyPWDProxyUIDQueryExecutionPollingIntervalMultiplierRegionResultFetcherResultReuseByAgeConfigurations3_staging_dirS3OutputEncOptionS3OutputLocationSchemauserUseResultsetStreamingWorkGroup
功能支持
如需让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。
截至 Looker 26.20,Amazon Athena 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 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 | |
| 毫秒 | |
| 微秒 | |
| 物化视图 | |
| 环比指标 | |
| 近似计数不同 | |
| 数据库内分析模型 | |
| 自定义日历 |
后续步骤
完成数据库连接后,请配置身份验证选项。