Apache Hive

本页面包含有关将 Looker 连接到 Apache Hive 的信息。

简介

Looker 设计为可通过 JDBC 连接到数据库服务器。就 Hive 而言,这是旧式服务器 (HiveServer2)。如需了解详情,请参阅 Apache 文档

默认情况下,此服务器将监听端口 10000。

Looker 是一种交互式查询工具,因此需要使用 SQL 交互式引擎。如果 Hive 正在 MapReduce 上运行(hive.execution.engine 设置为 mr),则 Hive 返回查询结果的速度会太慢,无法实际执行。

Looker 已在 Tez (hive.execution.engine=tez) 上测试 Hive,但也可以对 Spark 上的 Hive 运行 Looker。Hive 1.1 版中添加了对 Spark 的支持。(Looker 支持 Hive 1.2.1 及更高版本)。

永久性派生表 (PDT)

如需使用 Hive 连接在 Looker 中启用永久性派生表 (PDT),请创建可供 Looker 使用的暂存架构。以下是一个用于创建 looker_scratch 架构的命令示例:

 CREATE SCHEMA looker_scratch;

Looker 用于连接 Hive 的用户帐号(如果未使用身份验证,则可能是匿名的)必须在暂存架构中具有以下功能:

  • 创建表
  • 修改表
  • 删除表

在尝试通过 Hive 创建 PDT 之前,请使用 JDBC 客户端对此进行测试。

队列

如果您希望来自 Looker 的查询进入特定队列,请在连接设置页面的其他 JDBC 参数字段中输入队列名称参数:

?tez.queue.name=the_bi_queue

其他 Hive 参数可以在连接设置页面的其他 JDBC 参数字段中设置。

使用用户属性,不同用户或不同用户组的查询可能会进入不同的队列。为此,请创建一个名为 queue_name 之类的用户属性;然后在其他 JDBC 参数字段中添加以下内容:

?tez.queue.name={{ _user_attributes['queue_name'] }}

您可以使用此参数针对每位用户或每个群组自定义其他 hive-site.xml 参数。

创建与数据库的 Looker 连接

在 Looker 的管理部分中,选择连接,然后点击添加连接

填写连接详情。大多数设置是大多数数据库方言通用的设置。如需了解相关信息,请参阅将 Looker 连接到数据库文档页面。下面将介绍部分设置:

  • 名称:指定连接的名称。这是您在 LookML 项目中引用连接的方式。
  • 方言:指定方言:Apache Hive 2、Apache Hive 2.3+ 或 Apache Hive 3.1.2+。

    对于 Apache Hive 3.1.2 及更高版本,Looker 只能在专门针对 3.1.2 及更高版本的版本中与 Apache Hive 3 数据库完全集成。这是因为 Hive 2.4.0 - 3.1.2 版本存在查询解析问题,导致 Looker 生成的 SQL 解析时间过长。

  • 主机:指定主机名。

  • 端口:指定数据库端口。

  • 数据库:指定数据库名称。

  • 用户名:指定数据库用户名。

  • Password:指定数据库用户密码。

  • 启用 PDT:使用此切换开关可以启用永久性派生表。启用 PDT 后,Connection 窗口会显示其他 PDT 设置和 PDT Override 部分。

  • 临时数据库:指定在上文 PDT 部分中创建的暂存架构的名称。

  • PDT 构建器连接数上限:指定此连接上可能同时存在的 PDT build 的数量。将此值设得过高可能会对查询时间产生负面影响。如需了解详情,请参阅将 Looker 连接到数据库文档页面。

  • 其他 JDBC 参数:指定任何其他 JDBC 字符串参数。

  • 数据组和 PDT 维护时间表:指定 cron 表达式,表示 Looker 何时应检查数据组和永久性派生表。数据组和 PDT 维护时间表文档。

  • SSL:选中即可使用 SSL 连接。

  • 验证 SSL:检查主机名验证。

  • 每个节点的连接数上限:此设置可以最初设为默认值。如需了解详情,请参阅将 Looker 连接到数据库文档页面。

  • 连接池超时:此设置最初可以保留默认值。如需详细了解此设置,请参阅将 Looker 连接到数据库文档页面的连接池超时部分。

  • SQL Runner 预缓存:若要防止 SQL Runner 预加载表信息以及仅在用户选择表时加载表信息,请取消选中此选项。如需详细了解此设置,请参阅将 Looker 连接到数据库文档页面的 SQL Runner 预缓存部分。

  • 数据库时区:指定数据库中使用的时区。如果不想转换时区,请将此字段留空。如需了解详情,请参阅使用时区设置文档页面。

如需验证连接是否成功,请点击测试。如需了解问题排查信息,请参阅测试数据库连接文档页面。

要保存这些设置,请点击连接

功能支持

为了让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。

Apache Hive 2

从 Looker 23.8 开始,Apache Hive 2 支持以下功能:

功能 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称聚合
派生表
永久性 SQL 派生表
永久性原生派生表
稳定版观看次数
查询终止
基于 SQL 的数据透视
时区
SSL
小计
JDBC 附加参数
区分大小写
位置类型
列表类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 描述表
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序计数
SQL 说明
OAuth 凭据
上下文评论
连接池
HLL 素描
总体认知度
PDT 增幅
毫秒
微秒
具体化视图
唯一计数

Apache Hive 2.3 及更高版本

从 Looker 23.8 开始,Apache Hive 2.3 及更高版本支持以下功能:

功能 是否支持?
支持级别
集成
Looker (Google Cloud Core)
对称聚合
派生表
永久性 SQL 派生表
永久性原生派生表
稳定版观看次数
查询终止
基于 SQL 的数据透视
时区
SSL
小计
JDBC 附加参数
区分大小写
位置类型
列表类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 描述表
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序计数
SQL 说明
OAuth 凭据
上下文评论
连接池
HLL 素描
总体认知度
PDT 增幅
毫秒
微秒
具体化视图
唯一计数

Apache Hive 3.1.2 及更高版本

从 Looker 23.8 开始,Apache Hive 3.1.2 及更高版本支持以下功能:

功能 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称聚合
派生表
永久性 SQL 派生表
永久性原生派生表
稳定版观看次数
查询终止
基于 SQL 的数据透视
时区
SSL
小计
JDBC 附加参数
区分大小写
位置类型
列表类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 描述表
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序计数
SQL 说明
OAuth 凭据
上下文评论
连接池
HLL 素描
总体认知度
PDT 增幅
毫秒
微秒
具体化视图
唯一计数

后续步骤

将数据库连接到 Looker 后,为用户配置登录选项