本页面介绍了如何将 Looker 连接到 Apache Hive 2.3+ 和 Apache Hive 3.1.2+。
请注意以下有关 Looker 对不同版本的 Apache Hive 的支持:
- Looker 支持连接到 Apache Hive 2.3+ 和 Apache Hive 3.1.2+:
- Looker 不支持连接到 Apache Hive 2。对 Apache Hive 2 的连接执行查询会返回错误。
加密网络流量
对 Looker 应用与数据库之间的网络流量进行加密是一种最佳实践。可以考虑启用安全的数据库访问文档页面上介绍的某个选项。
简介
Looker 的架构旨在通过 JDBC 连接到数据库服务器。对于 Hive,这是 Thrift 服务器 (HiveServer2)。如需了解详情,请参阅 Apache 文档。
默认情况下,此服务器将监听端口 10000。
Looker 是一种交互式查询工具,因此它需要与交互式 SQL 引擎搭配使用。如果 Hive 在 MapReduce 上运行(hive.execution.engine 设置为 mr),则 Hive 返回查询结果的速度太慢,无法实际使用。
Looker 已使用 Hive on Tez (hive.execution.engine=tez) 进行测试,但也可以针对 Hive on Spark 运行 Looker。Spark 支持是在 Hive 1.1 版中添加的。(Looker 支持 Hive 1.2.1+。)
永久性派生表 (PDT)
如需在 Looker 中使用 Hive 连接启用 永久性派生表 (PDT),请创建一个临时架构供 Looker 使用。以下是可用于创建 looker_scratch 架构的命令示例:
CREATE SCHEMA looker_scratch;
Looker 用于连接到 Hive 的用户账号(如果未使用身份验证,则可以是匿名账号)必须在临时架构中具有以下功能:
- 创建表格
- 修改表格
- 舍弃表格
在尝试使用 Hive 创建 PDT 之前,请先使用 JDBC 客户端对此进行测试。
队列
如果您希望 Looker 中的查询进入特定队列,请在 Additional JDBC parameters (其他 JDBC 参数)字段中输入队列名称参数:
?tez.queue.name=the_bi_queue
您可以在连接设置 页面的 Additional JDBC parameters (其他 JDBC 参数)字段中以这种方式设置其他 Hive 参数。
使用用户属性,不同用户或不同用户组的查询可以进入不同的队列。为此,请创建一个名为 queue_name 的用户属性;然后,在 Additional JDBC parameters (其他 JDBC 参数)字段中,添加以下内容:
?tez.queue.name={{ _user_attributes['queue_name'] }}
您还可以使用此功能,根据用户或群组自定义其他 hive-site.xml 参数。
创建 Looker 与数据库的连接
请按照以下步骤创建从 Looker 到数据库的连接:
- 在 Looker 的 Admin (管理)部分中,选择 Connections (连接),然后点击 Add Connection (添加连接)。
从 Dialect (方言)下拉菜单中选择 Apache Hive 2.3+ 或 Apache Hive 3.1.2+ 。
填写连接详情。这些设置中的大多数设置对于大多数数据库方言都是通用的。如需了解详情,请参阅将 Looker 连接到您的数据库文档页面。下面介绍了一些设置:
- Name(名称):指定连接的名称。您将在 LookML 项目中以这种方式引用连接。
- Host(主机):指定主机名。
- Port(端口):指定数据库端口。
- Database(数据库):指定数据库名称。
- Username(用户名):指定数据库用户名。
- Password(密码):指定数据库用户密码。
- Enable PDTs(启用 PDT):使用此开关启用永久性派生表。启用 PDT 后,Connection (连接)窗口会显示其他 PDT 设置和 PDT Overrides (PDT 替换)部分。
- Temp Database(临时数据库):指定在本文档页面的永久性派生表 (PDT)部分中创建的临时架构的名称。
- Max number of PDT builder connections(PDT 构建器连接数上限):指定此连接上可能同时进行的 PDT 构建数。将此值设置得过高可能会对查询时间产生负面影响。如需了解详情,请参阅将 Looker 连接到您的数据库文档页面。
- Additional JDBC parameters(其他 JDBC 参数):添加任何其他 JDBC 参数。如需查看支持的参数列表,请参阅本页面的支持的 JDBC 参数部分。
- 维护时间表:指定一个
cron表达式,用于指示 Looker 何时应检查 数据组 和永久性派生表。如需详细了解此设置,请参阅维护时间表文档。 - SSL:选中此选项可使用 SSL 连接。
- Verify SSL(验证 SSL):选中此选项可进行主机名验证。
- Max connections per node(每个节点的最大连接数):此设置最初可以保留默认值。如需了解详情,请参阅将 Looker 连接到您的数据库文档页面。
- Connection Pool Timeout(连接池超时):此设置最初可以保留默认值。如需详细了解此设置,请参阅连接池超时部分的将 Looker 连接到您的数据库文档页面。
- SQL Runner Precache(SQL Runner 预缓存):如需让 SQL Runner 不预加载表格信息,并且仅在选择表格时加载表格信息,请取消选中此选项。如需详细了解此设置,请参阅 SQL Runner 预缓存 部分的 将 Looker 连接到您的数据库 文档页面。
- Database Time Zone(数据库时区):指定数据库中使用的时区。如果您不希望进行时区转换,请将此字段留空。如需了解详情,请参阅使用时区设置文档页面。
如需验证连接是否成功,请点击连接设置 页面底部的 Status details (状态详情)部分中的 Test Connection (测试连接)按钮。
如果 Looker 显示 Can Connect(可以连接),请按 Connect(连接)以创建连接。
然后,您的数据库连接会添加到 Looker Connections (连接)Admin (管理)页面上的列表中。
支持的 JDBC 参数
对于 Apache Hive,Looker 支持连接的 Additional JDBC parameters (其他 JDBC 参数)字段中的以下 JDBC 参数。如需了解这些参数,请参阅数据库的相关文档。
fetchSizehttpPathkeyStorePasswordpasswordprincipalserviceDiscoveryModessltez.queue.nametransportModetwoWayuserzooKeeperNamespace
功能支持
如需让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。
Apache Hive 2.3+
截至 Looker 26.20,Apache Hive 2.3+ 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 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 | |
| 毫秒 | |
| 微秒 | |
| 物化视图 | |
| 环比指标 | |
| 近似计数不同 | |
| 数据库内分析模型 | |
| 自定义日历 |
Apache Hive 3.1.2+
截至 Looker 26.20,Apache Hive 3.1.2+ 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 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 | |
| 毫秒 | |
| 微秒 | |
| 物化视图 | |
| 环比指标 | |
| 近似计数不同 | |
| 数据库内分析模型 | |
| 自定义日历 |
后续步骤
将数据库连接到 Looker 后,请为用户配置登录选项。