第一部分:Hive簡介
什麼是Hive
•Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射爲一張數據庫表,並提供類SQL查詢功能。
•本質是將SQL轉換爲MapReduce程序
第二部分:爲什麼使用Hive
面臨的問題
人員學習成本太高
項目週期要求太短
我只是需要一個簡單的環境
MapReduce 如何搞定
複雜查詢好難
Join如何實現
爲什麼要使用Hive
•操作接口採用類SQL語法,提供快速開發的能力
•避免了去寫MapReduce,減少開發人員的學習成本
•擴展功能很方便
Hive的特點
•可擴展
Hive可以自由的擴展集羣的規模,一般情況下不需要重啓服務
•延展性
Hive支持用戶自定義函數,用戶可以根據自己的需求來實現自己的函數
•容錯
良好的容錯性,節點出現問題SQL仍可完成執行
第三部分:Hive與Hadoop的關係
第四部分:Hive與傳統數據庫對比
|
Hive
|
RDBMS
|
查詢語言
|
HQL
|
SQL
|
數據存儲
|
HDFS
|
Raw Device or Local FS
|
執行
|
MapReduce
|
Excutor
|
執行延遲
|
高
|
低
|
處理數據規模
|
大
|
小
|
索引
|
0.8版本後加入位圖索引
|
有複雜的索引
|
第五部分:Hive的歷史
•由FaceBook 實現並開源
•2011年3月,0.7.0版本 發佈,此版本爲重大升級版本,增加了簡單索引,HAING等衆多高級特性
•2011年06月,0.7.1 版本發佈,修復了一些BUG,如在Windows上使用JDBC的的問題
• 2011年12月,0.8.0版本發佈,此版本爲重大升級版本,增加了insert into 、HA等衆多高級特性
•2012年2月5日,0.8.1版本發佈,修復了一些BUG,如 使 Hive 可以同時運行在 Hadoop0.20.x 與 0.23.0
•2012年4月30日,0.9.0版本發佈,重大改進版本,增加了對Hadoop 1.0.0的支持、實現BETWEEN等特性
第六部分:Hive的未來發展
•增加更多類似傳統數據庫的功能,如存儲過程
•提高轉換成的MapReduce性能
•擁有真正的數據倉庫的能力
•UI部分加強