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查詢。