溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Hive初識(shí)

發(fā)布時(shí)間:2020-08-20 02:44:46 來源:網(wǎng)絡(luò) 閱讀:297 作者:昭帆 欄目:大數(shù)據(jù)

Hive產(chǎn)生背景:

在給大家講解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是什么

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)目,它用在好多不同的公司。

Hive的特點(diǎn)

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的基本原理

HIve只是一個(gè)工具,他將HQL轉(zhuǎn)換成MapReduce程序運(yùn)行在Yarn上面,進(jìn)行處理HDFS上存儲(chǔ)的數(shù)據(jù),
這樣就可以讓我們對(duì)于簡(jiǎn)單的數(shù)據(jù)處理,只是編寫一下HQL就可以了,不用在編寫MapReduce程序。

Hive架構(gòu)

Hive初識(shí)
用戶在使用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的安裝

向AI問一下細(xì)節(jié)

免責(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)容。

AI