大數據-Hive 的三種交互方式

  • 2019 年 12 月 26 日
  • 筆記

2.7. Hive 的三種交互方式

第一種交互方式 bin/hive

cd /export/servers/apache-hive-3.1.0-bin/ bin/hive

創建一個資料庫

create database if not exists mytest;

第二種交互方式 HiveServer2

hive官方推薦使用hiveserver2的這種交互方式,需要我們啟動hiveserver2這個服務端,然後通過客戶 端去進行連接

啟動服務端(前台啟動命令如下)

cd /export/servers/apache-hive-3.1.0-bin/ bin/hive --service hiveserver2

重新開一個窗口啟動我們的客戶單進行連接

cd /export/servers/apache-hive-3.1.0-bin bin/beeline !connect jdbc:hive2://node03.hadoop.com:10000

進行連接,用戶名為hadoop 密碼為123456出現以下錯誤

解決方法:關閉hive的服務端,在hadoop的配置文件core-site.xml當中添加以下兩行配置,然後重啟 hdfs以及yarn集群

<property>      <name>hadoop.proxyuser.hadoop.hosts</name>      <value>*</value>  </property>  <property>      <name>hadoop.proxyuser.hadoop.groups</name>      <value>root</value>  </property>

重新進行啟動hive的服務端,然後繼續使用客戶端進行連接即可

啟動服務端

cd /export/servers/apache-hive-3.1.0-bin/ bin/hive --service hiveserver2

開一個新的xshell會話窗口,客戶端進行連接

cd /export/servers/apache-hive-3.1.0-bin bin/beeline !connect jdbc:hive2://node03.hadoop.com:10000

第三種交互方式:使用sql語句或者sql腳本進行交互

不進入hive的客戶端直接執行hive的hql語句

cd /export/servers/apache-hive-3.1.0-bin bin/hive -e "create database if not exists mytest;"

或者我們可以將我們的hql語句寫成一個sql腳本然後執行

cd /export/servers vim hive.sql
create database if not exists mytest; use mytest; create table stu(id int,name string);

通過hive -f 來執行我們的sql腳本

hive -f /export/servers/hive.sql

Tags: