1. Hive shell
#登录
[hadoop@node03 ~]$ cd /kkb/install/hive-1.1.0-cdh5.14.2/
[hadoop@node03 hive-1.1.0-cdh5.14.2]$ bin/hive
#退出
hive (default)> quit;
2. JDBC
2.1 后台先启动hive服务
[hadoop@node03 ~]$ nohup hive --service hiveserver2 &
2.2 beeline命令行连接
#登录
[hadoop@node03 ~]$ cd /kkb/install/hive-1.1.0-cdh5.14.2/
[hadoop@node03 hive-1.1.0-cdh5.14.2]$ bin/beeline
beeline> !connect jdbc:hive2://node03:10000
#node03:1000 :安装hive的主机名和端口
#为了不显示执行日志,可以在登录时加如下参数: --hiveconf hive.server2.logging.operation.level=NONE
#退出
0: jdbc:hive2://node03:10000> !quit
3. Hive参数
3.1 hive -e 执行HQL语句
[hadoop@node03 ~]$ cd /kkb/install/hive-1.1.0-cdh5.14.2/
[hadoop@node03 hive-1.1.0-cdh5.14.2]$ hive -e "select count(*) from mydb.employees"
3.2 hive -f 执行文件
#创建测试文件
[hadoop@node03 ~]$ echo "select count(*) from mydb.employees;" > /home/hadoop/test.hql
#-f 参数执行
[hadoop@node03 ~]$ cd /kkb/install/hive-1.1.0-cdh5.14.2/
[hadoop@node03 hive-1.1.0-cdh5.14.2]$ bin/hive -f /home/hadoop/test.hql
总结
hive shell和beeline都适合通过连接工具(crt/xshell等)连接Hive,但beeline功能更强大,显示也更漂亮。
-e 或 -f 适合在不登录hive命令行的情况下执行hql查询。