整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

12.3.2 Hive服务

hadoop 小红牛 10℃ 0评论

Hive外壳环境只是hive命令提供的其中一项服务。可以在运行时使用– service选项指明要使用哪种服务。键入hive –service help可以获 得可用服务列表。下面介绍一些最有用的服务。

•cli Hive的命令行接口(外壳环境)。这是默认的服务。

•hiveserver让Hive以提供Thrift服务的服务器形式运行,允许用
不同语言编写的客户端进行访问。使用Thrift、JDBC和ODBC连 接器的客户端需要运行Hive服务器^和Hive进行通信。通过设置
HIVE_PORT环境变量来指明服务器所i;听的端口号(默认为10000)。

•hwi Hive的Web接口。参见后文的补充内容。

•jar与hadoop jar等价。这是运行类路径中同时包含Hadoop和 Hive类Java应用程序的简便方法。

• metastore默认情况下,metastore和Hive服务运行在同一个进程 里。使用这个服务,可以让metastore作为一个单独的(远程)进程运 行。通过设置METAST0RE_P0RT环境变量可以指定服务器监听的 端口号。

HWI

你可能希望用简洁直观的HWI(Hive Web丨nterface)来代替外壳环境。使用 下面的命令启动这一服务:

% export ANT_LIB=/path/to/ant/lib
 % hive --service hwi

只有在系统的/opt/ant/lib中没有找到Ant的库时,才需要设定ANT_LIB环 境变量。然后在浏览器里浏览http://localhost:9999/hwi。从这里可以查看 Hive数据库的模式并创建会话来发出命令和查询。

我们还可以以共享服务方式运行Web接口。这样一来,同一个组织内的用 户不需要安装任何客户端软件也能访问Hive。

图片.png 

12-1. Hive体系结构

• Hive客户端 如果以服务器方式运行Hive(hive –service hiveserver),可以在应用程序中以不同机制连接到服务器。Hive 客户端和服务之间的联系如图12-1所示。

•Thrift客户端
Hive Thrift客户端简化了在多种编程语言中运行 Hive 命令。Hive 的 Thrift 绑定支持
C++、Java、PHP、Python 和 Ruby。在Hive发布版本的src/service/src子目录下可以找到对这些
语言的Thrift绑定。


JDBC驱动Hive提供了(Type 4)(纯Java)的JDBC驱动,定义在 org.apache.hadoop.
hive.jdbc.HiveDriver 类中 。 在以 jdbc:hive://host:port/dbname 形式配置 JDBC URI
以后, Java应用程序可以在指定的主机和端口连接到在另一个进程中运行 的Hive服务器。(驱动使_用Java的Thrift绑定来调用由Hive
Thrift 客户端实现的接口。)

你可能还希望通过URI jdbc:hive://用JDBC内嵌模式来连接 Hive。在这个模式下,Hive和发出调用的应用程序在同一个JVM 中运行。这时不需要以独立服务器方式运行Hive,这是因为此时 应用程序并不使用Thrift服务或Hive的Thrift客户端。

•ODBC驱动Hive的ODBC驱动允许支持ODBC协议的应用程序 连接到Hive。和JDBC驱动类似,ODBC驱动使用Thrift和Hive 服务器进行通信。ODBC驱动还处在开发阶段,所以请参考Hive wiki的最新指南以了解如何编译和运行。

Hive 维基页面(http://cwiki.apache.org/confluence/display/Hive/HiveClient)详 细介绍了如何使用这些客户端。

转载请注明:全栈大数据 » 12.3.2 Hive服务

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址