關鍵字:Hive WEB接口、Hive HWI
Hive提供給用戶的交互接口一般有三種:Hive命令行(Hive Command Line)、JDBC/ODBC以及Hive WEB Interface(HWI)。對於開發者來說,最常用的是Hive命令行。如果是將Hive開放給數據分析或數據運營人員做即席查詢,那么使用Hive WEB頁面接口(HWI)應該是比較方便的。
本章就介紹一下Hive WEB頁面接口(HWI)的配置和使用。以Hive0.13.1為例。
15.1 配置和啟動HWI
- 配置
HWI的運行需要依賴兩個包:hive-hwi-0.13.1.jar和hive-hwi-0.13.1.war,這兩個包應該都部署在$HIVE_HOME/lib目錄下。
但Hive0.13.1的安裝包lib目錄下沒有提供hive-hwi-0.13.1.war,解決辦法很簡單,下載Hive0.13.1的源碼, 進入源碼的\hwi\web\目錄下,將該目錄下的文件夾和文件壓縮成zip包,再重命名為hive-hwi-0.13.1.war,放 到$HIVE_HOME/lib目錄下即可。
配置$HIVE_HOME/conf/hive-site.xml
<property>
<name>hive.hwi.listen.host</name>
<value>172.16.213.12</value>
<description>HWI服務運行的主機 </description>
</property>
<property>
<name>hive.hwi.listen.port</name>
<value>9999</value>
<description>HWI服務運行的端口 </description>
</property>
<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-0.13.1.war</value>
<description>HWI服務運行的WAR包路徑 </description>
</property>
- 啟動
進入$HIVE_HOME/bin/
運行:nohup ./hive –service hwi >> /tmp/hive-hwi.log 2>&1 &
HWI服務的日志被記錄在tmp/hive-hwi.log中。
查看該日志文件:
日志中提示 Started SocketConnector@172.16.213.12:9999 ,說明hwi服務正常啟動。
15.2 使用HWI
- 用戶認證信息
使用瀏覽器打開:http://172.16.213.12:9999/hwi/
首先會提示填入用戶的信息,即用戶名和用戶組,填入之后點擊Submit,提示認證完成。
認證信息即參數hadoop.job.ugi的值,這種認證方式很不安全,如果是真實環境使用的話,需要封裝。
- 創建會話
點擊左側的Create Session,創建一個Hive的會話:填入會員名之后,點擊Submit,進入會話頁:
- 執行查詢
進入會話管理頁面:
在Result File中填入結果保存文件;注意:這個文件必須存在。
在Query中填入要執行的HQL語句;
Start Query選擇 YES;
點擊Submit開始執行HQL語句。
上面會提示會話處於 QUERY_RUNNING 的狀態,這個狀態下,不能做修改。
點擊左側的List Sessions,會顯示每個Session的當前狀態:
當Status為READY狀態時候,表示前面的查詢已經執行完,點擊Manager進入會話管理頁面,再點擊Result File后面的 View File,查看執行結果:
- 瀏覽數據庫
點擊左側的Browse Schema,瀏覽Hive中所有的數據庫:
點擊一個數據庫,可瀏覽該數據庫下所有的表:
點擊某一個表,可查看該表的元數據:
我覺得如果將HWI直接用於生產環境還是有問題的,比如:安全性,易用性等等。
在其上做一些封裝的話,還是可行的。