您好,登錄后才能下訂單哦!
小編給大家分享一下Hive源碼編譯的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Hive簡介:
Hive是一個基于Hadoop的數據倉庫,可以將結構化數據映射成一張表,并提供類SQL的功能,最初由Facebook提供,使用HQL作為查詢接口、HDFS作為存儲底層、MapReduce作為執行層,設計目的是讓SQL技能良好,但Java技能較弱的分析師可以查詢海量數據,2008年facebook把Hive項目貢獻給Apache。Hive提供了比較完整的SQL功能(本質是將SQL轉換為MapReduce),自身最大的缺點就是執行速度慢。Hive有自身的元數據結構描述,可以使用MySql\ProstgreSql\oracle 等關系型數據庫來進行存儲,但請注意Hive中的所有數據都存儲在HDFS中。Hive具有比較好的靈活性和擴展性,支持UDF,自定義存儲格式,適合離線數據處理。
Hive體系架構:
1.用戶接口:包括 CLI, Client, WUI。其中最常用的是 CLI,CLI為shell命令行,Cli 啟動的時候,會同時啟動一個 Hive 副本。Client 是 Hive 的客戶端,用戶連接至 Hive Server。在啟動 Client 模式的時候,需要指出 Hive Server 所在節點,并且在該節點啟動 Hive Server。 WUI 是通過瀏覽器訪問 Hive。
2.元數據存儲:通常是存儲在關系數據庫如 mysql, derby 中
3.解釋器、編譯器、優化器、執行器:完成 HQL 查詢語句從詞法分析、語法分析、編譯、優化以及查詢計劃的生成。生成的查詢計劃存儲在 HDFS 中,并在隨后有MapReduce 調用執行。
4.Hadoop:Hive中數據用 HDFS 進行存儲,利用 MapReduce 進行計算。
Hive源碼編譯:
我們選取CDH版本進行編譯,以hive-1.1.0-cdh6.7.0版本為例。
前期準備:
1.配置jdk1.7環境。
2.安裝maven。
3.安裝hadoop-2.6.0-cdh6.7.0環境(版本號與hive要對應)。
注:前期我使用的是Apache 2.8版本的hadoop,目前已經更改為CDH版本
# 下載地址: http://archive.cloudera.com/cdh6/cdh/5/ [root@hadoop000 ~]# su - hadoop [hadoop@hadoop000 ~]$ cd source [hadoop@hadoop000 source]$ wget http://archive.cloudera.com/cdh6/cdh/5/hive-1.1.0-cdh6.7.0-src.tar.gz [hadoop@hadoop000 source]$ tar -xzvf hive-1.1.0-cdh6.7.0-src.tar.gz
[hadoop@hadoop000 source]$ cd hive-1.1.0-cdh6.7.0 # 需等待一段時間 [hadoop@hadoop000 hive-1.1.0-cdh6.7.0]$ mvn -Phadoop-2 -Pdist -DskipTests -Dmaven.javadoc.skip=true clean package ... ... [INFO] Hive ODBC .......................................... SUCCESS [ 5.811 s] [INFO] Hive Shims Aggregator .............................. SUCCESS [ 0.755 s] [INFO] Hive TestUtils ..................................... SUCCESS [ 1.294 s] [INFO] Hive Packaging ..................................... SUCCESS [01:41 min] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 18:22 min [INFO] Finished at: 2018-06-02T11:37:54+08:00 [INFO] Final Memory: 144M/494M [INFO] ------------------------------------------------------------------------ # 編譯成功 會在源碼目錄下面的packaging/target目錄下面生成一個tar包,相關的hive模塊jar包都能在這個tar包里面找到。 文件名稱:apache-hive-1.1.0-cdh6.7.0-bin.tar.gz # 可使用此包來安裝Hive,也可在此網站http://archive.cloudera.com/cdh6/cdh/5/ 直接下載相應版本已編譯的安裝包。
以上是“Hive源碼編譯的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。