beeline vs hive cli

近期,大数据开发环境升级为cloudera 5.3. 配套的hive版本升级为0.13.1.可以使用心仪已久的分析开窗函数了。但在使用的过程中发现一些问题,仅记于此。

1.在使用hive命令的时候,发现自动跳转至beeline客户端,并且提示hive cli已经过期,推荐使用beeline.

然后提示你输入jdbc url.

2.通过hadoop version 找到hive的home,发现有一个hive-old 的文件,通过检查测试发现这就是原来hive cli的文件。

3.简单测试beeline的使用,发现cloudera的发行版的beeline在运行load data local inpath的时候总是提示找不到文件的错误,

去其官方论坛上发现有人遇到过这个问题,而且尚未解决,但是支持hdfs的全路径。

我们在项目中使用了类似 hive –e ‘load data local inpath’ 和 hive –f 之类的

因为我们这边的hadoop使用的是kerbos认证,所以需要在jdbc的url中接入principal。

 

hive cli 之于hive 就相当于sql plus之于oracle. 需要和server安装在一起。

而beeline只需要一个jdbc jar包就可以了,可以不需要与hive server 2装在一台server.

他们认证的方式也不同,hive cli可以直接访问hdfs和hive meta store,感觉更稳定快捷一些。

而beeline 则需要把请求提交到hive server2,通过安全验证,然后在队列中等待。

beeline的并发性和安全性得到了提高。

posted on 2015-07-23 07:25  tneduts  阅读(2904)  评论(0编辑  收藏  举报

导航