【发布时间】:2016-02-25 08:52:33
【问题描述】:
为什么 Apache Hive 需要 Apache Thrift?在 Thrift 的网站上,它说它可以编译成多种语言,但我不明白它适合哪里以及为什么 Hive 需要它。 谢谢
【问题讨论】:
为什么 Apache Hive 需要 Apache Thrift?在 Thrift 的网站上,它说它可以编译成多种语言,但我不明白它适合哪里以及为什么 Hive 需要它。 谢谢
【问题讨论】:
第 16 章。Hive Thrift 服务
Hive 有一个可选组件,称为 HiveServer 或 HiveThrift,它 允许通过单个端口访问 Hive。 Thrift 是一个软件 可扩展的跨语言服务开发框架。看 http://thrift.apache.org/ 了解更多详情。 Thrift 允许客户 使用包括 Java、C++、Ruby 和许多其他语言的语言, 以编程方式远程访问 Hive。
CLI 是访问 Hive 的最常用方式。然而,设计 CLI 可能难以以编程方式使用。 CLI 是一个 胖客户端;它需要所有 Hive 组件的本地副本,并且 配置以及 Hadoop 客户端的副本及其 配置。此外,它还可以用作 HDFS 客户端、MapReduce 客户端和 JDBC 客户端(用于访问元存储)。即使与 正确的客户端安装,具有所有正确的网络访问权限 可能很困难,尤其是跨子网或数据中心。
再好不过了。强调我的。
【讨论】:
https://cwiki.apache.org/confluence/display/Hive/HiveServer
HiveServer 是一项可选服务,它允许远程客户端使用各种编程语言向 Hive 提交请求并检索结果。 HiveServer 是基于 Apache ThriftTM (http://thrift.apache.org/) 构建的,因此它有时被称为 Thrift 服务器,尽管这可能会导致混淆,因为名为 HiveServer2 的新服务也是基于 Thrift 构建的。
有关如何连接到 hive 服务器(thrift 服务器)的更多详细信息,请参见上面的链接。
【讨论】: