首頁技術(shù)文章正文

Hive和Hadoop協(xié)作執(zhí)行任務(wù)的工作原理是什么?

更新時間:2022-06-02 來源:黑馬程序員 瀏覽量:

Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,主要用來對數(shù)據(jù)進行抽取、轉(zhuǎn)換、加載操作。HiveQL可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)表,允許熟悉SQL的用戶查詢數(shù)據(jù),也允許熟悉MapReduce的開發(fā)者開發(fā)自定義的mapper和reducer來處理內(nèi)建的mapper和 reducer無法完成的復(fù)雜的分析工作,相對于Java代碼編寫的MapReduce來說,Hive的優(yōu)勢更加明顯。Hive利用Hadoop的HDFS存儲數(shù)據(jù),利用Hadoop的MapReduce執(zhí)行查詢。

Hadoop的MapReduce執(zhí)行查詢的工作原理

Hive和Hadoop協(xié)作執(zhí)行任務(wù)的工作原理

(1)  用戶通過用戶接口向Driver提交executeQuery。

(2)  Driver向Compiler發(fā)送獲取計劃的請求。

(3)  Compiler根據(jù)用戶提交的executeQuery去MetaStore獲取需要的元數(shù)據(jù)信息。

(4)  MetaStore向Compiler發(fā)送元數(shù)據(jù)信息。

(5)  Compiler得到元數(shù)據(jù)信息,并向Driver發(fā)送計劃。

(6)  Driver 向EXECUTION ENGINE提交executePlan。

(7)  用戶接口向Driver發(fā)起獲取結(jié)果集(fetchResults)的請求。

(8)Driver向EXECUTION ENGINE發(fā)起獲取結(jié)果集的請求。

(9)EXECUTION ENGINE向Driver發(fā)送結(jié)果集,Driver獲取到結(jié)果集后返回用戶接口。

分享到:

Java培訓(xùn)班課程javaee

Python培訓(xùn)機構(gòu)python大數(shù)據(jù)

web前端培訓(xùn)課程升級V8.5web

AI+設(shè)計培訓(xùn)課程ui

大數(shù)據(jù)培訓(xùn)課程cloud

軟件測試培訓(xùn)課程test

c

新媒體運營培訓(xùn)netmarket

產(chǎn)品經(jīng)理培訓(xùn)課程pm

linux培訓(xùn)Linux

movies

智能機器人培訓(xùn)robot

電商視覺設(shè)計課程uids

AI

集成電路應(yīng)用開發(fā)(嵌入式)培訓(xùn)課程jdbc

在線咨詢 我要報名
和我們在線交談!