- Hadoop數據倉庫實戰
- 肖睿 蘭偉 廖春瓊主編
- 832字
- 2025-04-02 16:30:21
1.3.4 Hive開發環境
在開發過程中,Hive提供了兩種命令行工具:CLI與Beeline,分別對應hive與beeline命令。CLI工具一般在Hive主機上使用,而Beeline支持遠程連接。使用Beeline需要首先在Hive主機中啟動HiveServer2服務。
使用Beeline連接Hive:
# 在Hive 主機執行 $ hive --service hiveserver2& # 可在任意客戶端執行 $ beeline -u jdbc:hive2://localhost:10000 # 交互式執行HQL 0:jdbc:hive2://localhost: 10000> show tables;
其中,10000為HiveServer2默認端口,其可通過“hive.server2.thrift.port”參數進行修改。默認情況下啟動HiveServer2會同時啟動一個內置的元數據服務。
注意
HiveServer2進程建議在后臺運行:
nohup hive --service hiveserver2&
CLI和Beeline均支持兩種模式:命令行模式和交互模式。前面介紹的方式均屬于交互模式。Hive支持使用命令直接運行HQL語句或者包含一系列HQL語句的文件。
【語法】
hive -e <HQL> hive -f <HQL FILE> beeline –u <JDBC Url> -e <HQL> beeline –u <JDBC Ur l> -f <HQL FILE>
下面分別使用CLI和Beeline查看Hive所有數據庫:
$ hive -e 'show databases;' $ beeline -u jdbc:hive2://localhost:10000 -e 'show databases;show tables'
注意
請使用引號包含HQL語句,多條HQL之間使用分號分隔。
Hive也可以使用文件來管理HQL,然后通過“-f”選項執行。
$ vi showdbs.hql # 輸入HQL語句 show databases; $ hive -f showdbs.hql $ beeline -u jdbc:hive2://lo calhost:10000 -f showdbs.hql
除了CLI和Beeline,還有多種第三方工具均可以很方便地進行Hive開發,下面分別對它們進行簡單介紹。
1. HUE
Hadoop用戶經驗(Hadoop User Experience,HUE)集成在CDH中,是一個開源SQL分析平臺,有時也稱為Hadoop UI。通過HUE可以在瀏覽器中與Hadoop集群中的多種組件(如Hive、Pig、Impala等)進行交互以實現數據的分析處理。
如果選用了Cloudera的CDH版本,則適合選擇HUE進行Hive開發,開發界面如圖1.6所示。

圖1.6 選擇HUE開發Hive界面
2. Ambari Hive View
Apache Ambari是一種基于Web的工具,支持Apache Hadoop集群的管理和監控。Hive View是Ambari中的一個組件。Hortonworks的HDP集成了Ambari,所以使用HDP平臺時選擇Ambari更合適。Ambari開發界面如圖1.7所示。

圖1.7 Ambari Hive View開發界面
3. Zeppelin
Apache Zeppelin是一個基于Web的Notebook,其支持多種語言、多種環境下的交互式數據分析,包括:Python(Spark)、Scala(Spark)、Spark SQL、Hive、Shell等。
Zeppelin核心概念是解釋器(Interpreter)插件。Interpreter允許用戶指定一種語言或者數據處理引擎。當前已經實現的Interpreter有Python解釋器、Spark SQL解釋器、Shell解釋器、Hive解釋器和JDBC解釋器等。
針對Hive而言,新版本的Hive解釋器已被合并至JDBC解釋器中,須首先做如下配置。
? default.driver:org.apache.hive.jdbc.HiveDriver(默認)。
? default.url:jdbc:hive2://HIVESERVER:10000。
然后輸入“%hive”后開始HQL語句輸入。Zeppelin開發界面如圖1.8所示。

圖1.8 Zeppelin開發界面