1.什么是Hive
Hive : 由Facebook 開(kāi)源用于解決 <u>海量結(jié)構(gòu)化日志</u> 的數(shù)據(jù)統(tǒng)計(jì)。
-
Hive是基于Hadoop的一個(gè)<u>數(shù)據(jù)倉(cāng)庫(kù)工具</u>,可以將 <u>結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張表</u> ,并提供 <u>類SQL</u> 查詢功能
本質(zhì)是:將HQL轉(zhuǎn)為MapReduce程序
Hive處理的數(shù)據(jù)存儲(chǔ)在Hdfs
Hive分析數(shù)據(jù)底層的實(shí)現(xiàn) <u>默認(rèn)是 MapReduce</u> (可以換成其他的)
-
Hive運(yùn)行程序是在yarn上的
總結(jié):可以吧Hive理解為一個(gè)客戶端,方便你去調(diào)度Hadoop,所以它不是一個(gè)分布式的框架,而是一個(gè)客戶端工具。
image
2.Hive的優(yōu)缺點(diǎn)
2.1 優(yōu)點(diǎn)
- 操作接口采用類SQL寫(xiě)法,提供快速開(kāi)發(fā)能力
- 避免了寫(xiě)MapReduce,減少學(xué)習(xí)成本
- Hive執(zhí)行的延遲比較高,因此Hive常用于數(shù)據(jù)分析,對(duì)實(shí)時(shí)性要求不高的場(chǎng)景
- Hive優(yōu)勢(shì)在于處理大數(shù)據(jù),對(duì)于小數(shù)據(jù)處理沒(méi)有優(yōu)勢(shì)
- Hive支持用戶自定義函數(shù),用戶可根據(jù)自己的需求定義函數(shù)
2.2缺點(diǎn)
- Hive的HQL表達(dá)能力有限
- 迭代式算法無(wú)法表達(dá)
- 數(shù)據(jù)挖掘方面不擅長(zhǎng)
- Hive的效率比較低
- Hive自動(dòng)生成的MapReduce作業(yè),通常情況下不夠智能
- Hive調(diào)優(yōu)比較困難,粒度較粗
