更新時(shí)間:2021年06月25日18時(shí)28分 來(lái)源:傳智教育 瀏覽次數(shù):
Hive是建立在Hadoop文件系統(tǒng)上的數(shù)據(jù)倉(cāng)庫(kù),它提供了一系列工具,能夠?qū)Υ鎯?chǔ)在HDFS中的數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和加載(ETL),這是一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在Hadoop中的大規(guī)模數(shù)據(jù)的工具。
Hive定義了簡(jiǎn)單的類SQL查詢語(yǔ)言,稱為HQL,它可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)表,允許熟悉 SQL 的用戶查詢數(shù)據(jù),也允許熟悉 MapReduce 的開(kāi)發(fā)者開(kāi)發(fā)自定義的 mapper和 reducer來(lái)處理內(nèi)建的 mapper 和 reducer 無(wú)法完成的復(fù)雜的分析工作,相對(duì)于Java代碼編寫(xiě)的MapReduce來(lái)說(shuō),Hive的優(yōu)勢(shì)更加明顯。
由于Hive采用了SQL的查詢語(yǔ)言HQL,因此很容易將Hive理解為數(shù)據(jù)庫(kù)。其實(shí)從結(jié)構(gòu)上來(lái)看,Hive和數(shù)據(jù)庫(kù)除了擁有類似的查詢語(yǔ)言,再無(wú)類似之處。接下來(lái),我們以傳統(tǒng)數(shù)據(jù)庫(kù)MySQL和Hive的對(duì)比為例,通過(guò)他們的對(duì)比來(lái)幫助大家理解Hive的特性,具體如表1所示。
表1 Hive與傳統(tǒng)數(shù)據(jù)庫(kù)對(duì)比
對(duì)比項(xiàng) | Hive | MySQL |
---|---|---|
查詢語(yǔ)言 | Hive QL | SQL |
數(shù)據(jù)存儲(chǔ)位置 | HDFS | 塊設(shè)備、本地文件系統(tǒng) |
數(shù)據(jù)格式 | 用戶定義 | 系統(tǒng)決定 |
數(shù)據(jù)更新 | 不支持 | 支持 |
事務(wù) | 不支持 | 支持 |
執(zhí)行延遲 | 高 | 低 |
可擴(kuò)展性 | 高 | 低 |
數(shù)據(jù)規(guī)模 | 大 | 小 |
多表插入 | 支持 | 不支持 |
Redis、傳統(tǒng)數(shù)據(jù)庫(kù)、HBase以及Hive的區(qū)別
北京校區(qū)