Hive提供给用户的交互接口一般有三种:Hive命令行(Hive Command Line)、JDBC/ODBC以及Hive WEB Interface(HWI)。对于开发者来说,最常用的是Hive命令行。如果是将Hive开放给数据分析或数据运营人员做即席查询,那么使用Hive WEB页面接口(HWI)应该是比较方便的。
本章就介绍一下Hive WEB页面接口(HWI)的配置和使用。以Hive0.13.1为例。
15.1 配置和启动HWI
- 配置
HWI的运行需要依赖两个包:hive-hwi-0.13.1.jar和hive-hwi-0.13.1.war,这两个包应该都部署在$HIVE_HOME/lib目录下。
但Hive0.13.1的安装包lib目录下没有提供hive-hwi-0.13.1.war,解决办法很简单,下载Hive0.13.1的源码,进入源码的\hwi\web\目录下,将该目录下的文件夹和文件压缩成zip包,再重命名为hive-hwi-0.13.1.war,放到$HIVE_HOME/lib目录下即可。
配置$HIVE_HOME/conf/hive-site.xml
<property>
<name>hive.hwi.listen.host</name>
<value>172.16.213.12</value>
<description>HWI服务运行的主机 </description>
</property>
<property>
<name>hive.hwi.listen.port</name>
<value>9999</value>
<description>HWI服务运行的端口 </description>
</property>
<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-0.13.1.war</value>
<description>HWI服务运行的WAR包路径 </description>
</property>
- 启动
进入$HIVE_HOME/bin/
运行:nohup ./hive –service hwi >> /tmp/hive-hwi.log 2>&1 &
HWI服务的日志被记录在tmp/hive-hwi.log中。
查看该日志文件:
日志中提示 Started SocketConnector@172.16.213.12:9999 ,说明hwi服务正常启动。
15.2 使用HWI
- 用户认证信息
使用浏览器打开:http://172.16.213.12:9999/hwi/
首先会提示填入用户的信息,即用户名和用户组,填入之后点击Submit,提示认证完成。
认证信息即参数hadoop.job.ugi的值,这种认证方式很不安全,如果是真实环境使用的话,需要封装。
- 创建会话
点击左侧的Create Session,创建一个Hive的会话:填入会员名之后,点击Submit,进入会话页:
- 执行查询
进入会话管理页面:
在Result File中填入结果保存文件;注意:这个文件必须存在。
在Query中填入要执行的HQL语句;
Start Query选择 YES;
点击Submit开始执行HQL语句。
上面会提示会话处于 QUERY_RUNNING 的状态,这个状态下,不能做修改。
点击左侧的List Sessions,会显示每个Session的当前状态:
当Status为READY状态时候,表示前面的查询已经执行完,点击Manager进入会话管理页面,再点击Result File后面的 View File,查看执行结果:
- 浏览数据库
点击左侧的Browse Schema,浏览Hive中所有的数据库:
点击一个数据库,可浏览该数据库下所有的表:
点击某一个表,可查看该表的元数据:
我觉得如果将HWI直接用于生产环境还是有问题的,比如:安全性,易用性等等。
在其上做一些封装的话,还是可行的。