HWI 与 Hive 中 "HiveServer" 的区别
Difference Between HWI and "HiveServer" in Hive
这些天我正在使用 Apache Hive,下面的事情让我很困惑 -
有一个 Hive Web 界面 (hive --service hwi),它侦听端口(默认 9999)并允许客户端提交查询并稍后返回设施、授权等.
还有一个HiveServer(hive --service HiveServer),它运行一个服务器,允许远程客户端连接和提交Hive查询,也受授权保护等
它们有什么不同? (或者他们不是)?如果它们不同,但提供相同类型的功能,那么有什么不同?
还有一个 HiveServer2 和一个 Thrift 服务器,不确定但我认为是对 HiveServer 的改进?
有人可以谈谈它们并澄清一下,它们的独特之处是什么以及它们解决的更大问题是什么?
此致,
(*维普尔)();
HWI
Hive 的 HWI (HiveWebInterface) 是使用 Hive 命令行界面的替代方法。它提供了以下功能:
- 架构浏览
- 分离查询执行
- 管理会话
- 没有本地安装
HiveServer
另一方面,HiveServer 允许远程客户端使用 Thrift's various programming language 绑定向 Hive 提交请求。由于 HiveServer 使用 Thrift,所以有时也称为 ThriftServer。
HiveServer v1 无法处理来自多个客户端的并发请求,这一限制在 HiveServer v2 中得到解决,它允许与客户端的多个并发连接。 HiveServer2 还提供:
- 使用 Kerberos 和 LDAP 进行身份验证
- SSL 加密
- PAM
HiveServer2 提供了各种client interfaces,例如:
- 直线命令行shell
- JDBC
- Python & Ruby 客户
HiveServer2 JDBC 驱动程序可用于连接到 BI 工具,如 Tableau、Talend 等,以执行 ETL。
这些天我正在使用 Apache Hive,下面的事情让我很困惑 -
有一个 Hive Web 界面 (hive --service hwi),它侦听端口(默认 9999)并允许客户端提交查询并稍后返回设施、授权等.
还有一个HiveServer(hive --service HiveServer),它运行一个服务器,允许远程客户端连接和提交Hive查询,也受授权保护等
它们有什么不同? (或者他们不是)?如果它们不同,但提供相同类型的功能,那么有什么不同?
还有一个 HiveServer2 和一个 Thrift 服务器,不确定但我认为是对 HiveServer 的改进?
有人可以谈谈它们并澄清一下,它们的独特之处是什么以及它们解决的更大问题是什么?
此致,
(*维普尔)();
HWI
Hive 的 HWI (HiveWebInterface) 是使用 Hive 命令行界面的替代方法。它提供了以下功能:
- 架构浏览
- 分离查询执行
- 管理会话
- 没有本地安装
HiveServer
另一方面,HiveServer 允许远程客户端使用 Thrift's various programming language 绑定向 Hive 提交请求。由于 HiveServer 使用 Thrift,所以有时也称为 ThriftServer。
HiveServer v1 无法处理来自多个客户端的并发请求,这一限制在 HiveServer v2 中得到解决,它允许与客户端的多个并发连接。 HiveServer2 还提供:
- 使用 Kerberos 和 LDAP 进行身份验证
- SSL 加密
- PAM
HiveServer2 提供了各种client interfaces,例如:
- 直线命令行shell
- JDBC
- Python & Ruby 客户
HiveServer2 JDBC 驱动程序可用于连接到 BI 工具,如 Tableau、Talend 等,以执行 ETL。