hive 快速入門(mén)

1. 簡(jiǎn)介

使用mapreduce 這樣的計(jì)算框架,可以寫(xiě)出像wordcount這樣的程序,雖然已經(jīng)極大的化簡(jiǎn)了分布式編程的門(mén)檻,但是使用mapreduce依然不夠簡(jiǎn)潔。這就是hive誕生的背景。

程序員發(fā)現(xiàn),MapReduce的程序?qū)懫饋?lái)真麻煩。他們希望簡(jiǎn)化這個(gè)過(guò)程。這就好比你有了匯編語(yǔ)言,雖然你幾乎什么都能干了,但是你還是覺(jué)得繁瑣。你希望有個(gè)更高層更抽象的語(yǔ)言層來(lái)描述算法和數(shù)據(jù)處理流程。于是就有了Hive。

Hive可以理解為 分布式 環(huán)境下的 SQL。在hive 下可以sql 語(yǔ)句,hive會(huì)把SQL語(yǔ)言翻譯成MapReduce程序,丟給計(jì)算引擎去計(jì)算,而你就從繁瑣的MapReduce程序中解脫出來(lái),用更簡(jiǎn)單更直觀的語(yǔ)言去寫(xiě)程序了。

小結(jié):
雖然hive使用的是sql的語(yǔ)句,但是hive底層調(diào)用依然是mapreduce計(jì)算框架。所以執(zhí)行的速度依然會(huì)很慢。

在配置hive的時(shí)候,沒(méi)有偽分布式的模式或者是完全分布模式。hive相當(dāng)于是hadoop的一個(gè)客戶端。所以它并沒(méi)有運(yùn)行模式。

2. hive的特點(diǎn)
  1. 數(shù)據(jù)倉(cāng)庫(kù)
    (數(shù)據(jù)倉(cāng)庫(kù) 和數(shù)據(jù)庫(kù)的區(qū)別:
    a. 數(shù)據(jù)庫(kù)強(qiáng)調(diào) oltp :online transaction process 在線事務(wù)處理
    b. 數(shù)據(jù)倉(cāng)庫(kù)強(qiáng)調(diào):olap:online analysis process 在線分析處理)
  2. hive 提供一個(gè)sql語(yǔ)句 hive ql
  3. hive的底層,依然是mapreduce,相當(dāng)于是在mapreduce上面做了一個(gè)封裝,對(duì)于用戶來(lái)說(shuō),就是相當(dāng)于你不用去寫(xiě)java 的代碼,實(shí)現(xiàn)mapreduce 了,而是直接可以像使用sql一樣處理數(shù)據(jù)了。
3. hive 的結(jié)構(gòu)

在安裝hive的時(shí)候,除了其他的配置,還需要一個(gè)數(shù)據(jù)庫(kù)的配置。這樣是因?yàn)閔ive需要存儲(chǔ)元數(shù)據(jù)的信息。

hive里面的存儲(chǔ)元數(shù)據(jù)的地方是metastore,它保存了表名,列名,字段名等。通過(guò)元數(shù)據(jù)的信息,hive將hdfs上面的結(jié)構(gòu)化數(shù)據(jù)映射為一張張表。

metastore有三種存儲(chǔ)方式,一種是內(nèi)嵌模式,這是最簡(jiǎn)單的方式,使用內(nèi)嵌的derby數(shù)據(jù)來(lái)存儲(chǔ)元數(shù)據(jù)。缺點(diǎn)是,只支持一個(gè)用戶打開(kāi)hive會(huì)話。第二種是本地模式,采用了mysql 來(lái)存儲(chǔ)元數(shù)據(jù)。這樣可以支持多個(gè)用戶訪問(wèn)hive。這三種是使用遠(yuǎn)程模式。

3. hive 的安裝
4. hive的使用

hive的學(xué)習(xí),我感覺(jué)有點(diǎn)像學(xué)習(xí)mysql。這一部分,有一個(gè)很好的官方文檔,叫做 《Hive Tutorial》。https://www.tutorialspoint.com/hive/index.htm

英文比較吃力的可以參考(還是建議看英文版本的)http://www.yiibai.com/hive/hive_installation.html

5. 與傳統(tǒng)數(shù)據(jù)的區(qū)別

數(shù)據(jù)更新
hive是基于hadoop 的,他們的特征都是“一次寫(xiě)入,多次讀取”。所以,hive是不支持?jǐn)?shù)據(jù)更新和添加的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容