我刚开始学习Hive.我在Hive书籍或Hive教程中经常看到三个术语.Hive Server,Hive Service和Thrift Server.这些是什么 ?他们是如何相关的?有什么不同 ?.什么时候使用这些?请解释
HiveServer2(HS2)是一种允许客户端对Hive执行查询的服务.HiveServer2是HiveServer1的后继者,已被弃用.HS2支持多客户端并发和身份验证.它旨在为JDBC和ODBC等开放API客户端提供更好的支持.您可以在https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Overview找到有关hiveserver的更多详细信息.
Hive Service只是守护进程,它在您的客户端节点上运行,该节点向Hive Server发送请求.
Thrift是用于构建跨平台服务的RPC框架.它的堆栈由4层组成:服务器,传输,协议和处理器.您可以在https://thrift.apache.org/docs/concepts找到有关这些图层的更多详细信息 .
所有这些之间的关系:
基于Thrift的Hive服务是HS2的核心,负责为Hive查询提供服务(例如,来自Beeline).简单来说,Hive服务器基于thrift协议,它从hive客户端(即您的命令行界面或HUE接口)发送查询,这些查询可以在您的HDFS或任何其他数据源中.
用法:
当您查询任何配置单元表或数据库时,在后台自动地,您的请求将在配置单元服务和配置单元服务器之间传输
当你想创建自己的服务或项目时,你可以使用thrift协议来帮助你创建图层,当你使用库创建用户定义的函数时想一想,所以在这种情况下库将是节俭的.
什么是Apache Thrift:它是可扩展的跨语言服务开发框架.
当我们可以使用Apache Thrift时:开发使用以一种语言访问另一种语言开发的服务的Web服务.
什么是HiveServer:它是一种允许远程客户端向hive提交请求的服务.使用各种编程语言,并检索结果.