您好,登錄后才能下訂單哦!
在給大家講解Hive之前,我們要先熟悉下Hadoop的一些概念。
Hadoop可以分為一下幾個(gè)部分
HDFS hadoop的文件系統(tǒng),用于數(shù)據(jù)存儲(chǔ)
MapReduce 用于數(shù)據(jù)處理
Yarn 用于資源管理
那Hadoop 中的MapReduce程序一般處理輸入都是一些標(biāo)準(zhǔn)化的日志,假設(shè)我們有如下的日志文件。
姓名 科目 成績(jī)
張三 語(yǔ)文 90
李四 語(yǔ)文 80
王五 語(yǔ)文 88
張三 數(shù)學(xué) 99
李四 數(shù)學(xué) 98
王五 數(shù)學(xué) 90
我們需要對(duì)這些數(shù)據(jù)進(jìn)行處理,如獲取成績(jī)最高者、統(tǒng)計(jì)平均分等。
那么沒做一次處理我們就需要像寫八股文似的進(jìn)行編寫MapReduce程序:
1、編寫Mapper
2、編寫Reducer
3、編寫main
4、在main中定義job
5、設(shè)置job的輸入、輸出以及參數(shù)
6、執(zhí)行job
這樣就需要我們對(duì)MapReduce編程十分的熟悉,并且這種方式比較費(fèi)時(shí)費(fèi)力。同時(shí),在一般的公司中,
對(duì)這種有固定格式的數(shù)據(jù)進(jìn)行處理我們一般都交由專門的DB進(jìn)行處理,但是DB又對(duì)MapReduce的編程不了解,
讓他們編寫MapReduce程序來處理數(shù)據(jù)就不太現(xiàn)實(shí),那有沒有一種或者一個(gè)工具,
能讓他們使用類似sql的方式來清洗數(shù)據(jù)。
答案當(dāng)然是有的,那就是我們的Hive。
Hive是一個(gè)在hadoop基礎(chǔ)上來處理結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)工具。這里說它是一個(gè)工具,
它主要的功能就是方便我們處理數(shù)據(jù),但是數(shù)據(jù)的存儲(chǔ)等還是在HDFS上。
Hive是架構(gòu)在Hadoop之上,可以提供類似SQL語(yǔ)言的查詢語(yǔ)句進(jìn)行簡(jiǎn)化大數(shù)據(jù)的處理以及清晰,
方便DB進(jìn)行數(shù)據(jù)處理。
Hive開始是有Facebook開發(fā),后由Apache軟件基金會(huì)開發(fā),并將其Apache下的一個(gè)頂級(jí)項(xiàng)目。
Hive為一個(gè)開源項(xiàng)目,它用在好多不同的公司。
1、它不像關(guān)系型數(shù)據(jù)庫(kù)只能處理少量的數(shù)據(jù),hive由于架構(gòu)在Hadoop之上,本身就賦予了其處理大數(shù)據(jù)的能力。
2、它提供一種類似SQL的查詢語(yǔ)言,叫HQL或者HiveQL。
3、由于本身就是在MapReduce上進(jìn)行的二次擴(kuò)展,因此hive就具有了良好的可擴(kuò)展型,
如果出現(xiàn)一個(gè)hive提供不了的處理,我們可以通過編寫mapreduce程序,將其封裝成hive的一個(gè)函數(shù)。
HIve只是一個(gè)工具,他將HQL轉(zhuǎn)換成MapReduce程序運(yùn)行在Yarn上面,進(jìn)行處理HDFS上存儲(chǔ)的數(shù)據(jù),
這樣就可以讓我們對(duì)于簡(jiǎn)單的數(shù)據(jù)處理,只是編寫一下HQL就可以了,不用在編寫MapReduce程序。
用戶在使用Hive的過程中,通過CLI、JDBC/ODBC、WebUI等方式,提供HQL語(yǔ)句到hive中,hive通過編譯、優(yōu)化、執(zhí)行,將經(jīng)過優(yōu)化的HQL語(yǔ)句進(jìn)行轉(zhuǎn)換成MapReduce程序放到y(tǒng)arn上運(yùn)行。
針對(duì)開始提出的查詢成績(jī)最高的那一行,我們只需要寫如下的HQL就可以了:
select * from table order by sorce desc limit 0,1
到此,整個(gè)hive的介紹就個(gè)大家講解完成了,在下一篇中,我們講會(huì)講解hive的安裝
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。