1.什么是hive
Hive是基於Hadoop的數據倉庫解決方案。由於Hadoop本身在數據存儲和計算方面有很好的可擴展性和高容錯性,因此使用Hive構建的數據倉庫也秉承了這些特性。
簡單來說,Hive就是在Hadoop上架了一層SQL接口,可以將SQL翻譯成MapReduce去Hadoop上執行,這樣就使得數據開發和分析人員很方便的使用SQL來完成海量數據的統計和分析,而不必使用編程語言開發MapReduce那么麻煩。
2. Hive安裝與配置
2.1 下載hive安裝文件
可以從Apache官網下載安裝文件,即 http://mirror.bit.edu.cn/apache/hive/
也可以從我的雲盤下載 <apache-hive-2.1.0-bin.tar.gz> 鏈接是:https://pan.baidu.com/s/1i5mTBEH 密碼是:xbf
除此之外,由於hive是默認將元數據保存在本地內嵌的 Derby 數據庫中,但是這種做法缺點也很明顯,Derby不支持多會話連接,因此本文將選擇mysql作為元數據存儲。
需要下載mysql的jdbc<mysql-connector-java-5.1.28.jar>,然后將下載后的jdbc放到hive安裝包的lib目錄下, 下載鏈接是:http://dev.mysql.com/downloads/connector/j/ ,也可以從上述雲盤中獲取。
2.2 安裝mysql來替換默認的Derby數據庫
請參考 Hive集成mysql數據庫
2.3 修改配置文件
解壓安裝文件到指定的的文件夾 /opt/hive
tar -zxf apache-hive-2.1.0-bin.tar.gz -C opt/hive
2.3.1 設置環境變量
vi /etc/profile
2.3.2 修改hive-site.xml文件
2.3.3 修改hive-env.sh
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
2.4 運行hive
運行hive之前首先要確保meta store服務已經啟動,
nohup hive --service metastore > metastore.log 2>&1 &
如果需要用到遠程客戶端(比如 Tableau)連接到hive數據庫,還需要啟動hive service
nohup hive --service hiveserver2 > hiveserver2.log 2>&1 &
然后由於配置過環境變量,可以直接在命令行中輸入hive
2.5 測試hive是否可以正確使用
2.5.1 創建測試表dep
2.5.2 通過Mysql查看創建的表
2.5.3 通過UI頁面查看創建的數據位
訪問 xxx.xxx.xxx.xxx:50070