HWI是Hive Web Interface的简称,是hive cli的一个web替换方案。
关于如何搭建Hive平台,可以参考:搭建Hive平台
但是目前这个功能做的比较简陋,这篇文章我们一起来看看如何使用hive-0.4.1中自带的hwi来进行操作。
打开HWI
假设hive部署在10.20.151.7机器上,conf/hive-default.xml文件都是默认值,那么我们直接在浏览器中输入:http://10.20.151.7:9999/hwi/ 就可以访问了。
访问schema信息(Browse Schema)
界面中显示的是当前可以使用的数据库信息,只包含一个数据库(default),我们再点击default,就可以看到default数据库中包含的所有表的信息了。
我们可以看到,有3个表的信息,继续点击表名,就可以看到更加详细的表结构信息了,如我们点击pokes:
这就是浏览schema信息的功能,用于替换cli中的show tables的功能。
查看系统诊断信息(Diagnostics)
我们点击Diagnostics,就可以看到系统的相关诊断信息,如:
用户认证(Authorize),创建会话(Create Session)与会话管理(List Sessions)
在讲解这些功能之前,我们需要先了解一下用户认证与会话之间的关系。
在hwi中的用户认证需要输入用户名和用户组,如:
每一个用户认证(Authorize)信息对应着一组会话(session)。这些数据在hive重启后,session信息都会丢失。
在创建Hive查询之前,我们需要创建一个会话(session),点击Create Session即可。
我们再点击List Sessions,就可以看到该用户认证(Authorize)上所对应的所以的会话组了。
执行查询
绝大多数情况下,我们不需要设置用户认证(Authorize)信息,假设我们没有设置用户认证(Authorize)信息,然后创建了一个session为s1
点击List Sessions后,可以看到如下界面:
点击Manager后,我们就进入到查询界面了:
我们可以直接在Query中填写查询语句,然后在Result中执行输出文件名称,同时将Start Query设置为Yes,如:
注意,这里的查询语句与cli有一点点不同,查询语句最后没有分号(;)。
点击“提交查询内容”后,我们可以看到如下界面:
这个时候,我们可以点击View File查看结果信息:
这样,我们就完成查询了。
同时我们可以在hive的安装目录的更目录下找到这个s1_result文件。
HWI与CLI对比
如果使用过cli的朋友看了上面的介绍,一定会发现一个很严重的问题:执行的过程没有提示。我们不知道某一个查询执行是什么时候结束的。
总结一下HWI与CLI对比的优缺点:
优点:HWI支持浏览器的方式浏览,方便直观。
缺点:无执行过程提示。
我个人还是更倾向于使用cli的方式:)