从入门到放弃之大数据Hive
開門見山,今天說說Hive!!!
什么是Hive
Hive:由Facebook開源用于解決海量結構化日志的數據統計。?
Hive是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張表,并提供類SQL查詢功能。
本質是:將HQL轉化成MapReduce程序?
1)Hive處理的數據存儲在HDFS?
2)Hive分析數據底層的實現是MapReduce?
3)執行程序運行在YARN上
為什么使用Hive
1)直接使用hadoop所面臨的問題?
(1)人員學習成本太高?
(2)項目周期要求太短?
(3)MapReduce實現復雜查詢邏輯開發難度太大
2)Hive的好處?
(1)操作接口采用類SQL語法,提供快速開發的能力。?
(2)避免了去寫MapReduce,減少開發人員的學習成本。?
(3)擴展功能很方便。
Hive架構概述
?
上圖中,Hive通過給用戶提供的一系列交互接口,接收到用戶的指令(SQL),使用自己的Driver,結合元數據(MetaStore),將這些指令翻譯成MapReduce,提交到Hadoop中執行,最后,將執行返回的結果輸出到用戶交互接口。
Hive 的特點
1)操作接口采用類SQL語法,提供快速開發的能力(簡單、容易上手)?
2)避免了去寫MapReduce,減少開發人員的學習成本。?
3)Hive的執行延遲比較高,因此hive常用于數據分析,對實時性要求不高的場合;?
4)Hive優勢在于處理大數據,對于處理小數據沒有優勢,因為Hive的執行延遲比較高。?
5)Hive支持用戶自定義函數,用戶可以根據自己的需求來實現自己的函數。
Hive和數據庫比較
由于 Hive 采用了類似SQL 的查詢語言 HQL(hive query language),因此很容易將 Hive 理解為數據庫。其實從結構上來看,Hive 和數據庫除了擁有類似的查詢語言,再無類似之處。本文將從多個方面來闡述 Hive 和數據庫的差異。數據庫可以用在 Online 的應用中,但是Hive 是為數據倉庫而設計的,清楚這一點,有助于從應用角度理解 Hive 的特性。
總結
以上是生活随笔為你收集整理的从入门到放弃之大数据Hive的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux内核学习的一些国外网站
- 下一篇: DM8168学习--USB的over-c