本页面介绍了如何将 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(数据库时区):指定数据库中使用的时区。如果您不想进行时区转换,请将此字段留空。如需了解详情,请参阅使用时区设置文档页面。
如需验证连接是否成功,请点击 Test (测试)。如需了解问题排查信息,请参阅测试数据库连接文档页面。
如需保存这些设置,请点击 Connect (连接)。
支持的 JDBC 参数
对于 Apache Hive,Looker 支持在连接的 Additional JDBC parameters (其他 JDBC 参数)字段中使用以下 JDBC 参数。如需了解这些参数,请参阅数据库的文档。
fetchSizehttpPathkeyStorePasswordpasswordprincipalserviceDiscoveryModessltez.queue.nametransportModetwoWayuserzooKeeperNamespace
功能支持
如需让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。
Apache Hive 2.3+
截至 Looker 26.12,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.12,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 后,请为用户配置登录选项。