更新時(shí)間:2022年11月08日10時(shí)32分 來(lái)源:傳智教育 瀏覽次數(shù):
Hive是基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,主要用來(lái)對(duì)數(shù)據(jù)進(jìn)行抽取、轉(zhuǎn)換、加載操作。HiveQL可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)表,允許熟悉SQL的用戶查詢數(shù)據(jù),也允許熟悉MapReduce的開發(fā)者開發(fā)自定義的mapper和reducer來(lái)處理內(nèi)建的mapper和 reducer無(wú)法完成的復(fù)雜的分析工作,相對(duì)于Java代碼編寫的MapReduce來(lái)說(shuō),Hive的優(yōu)勢(shì)更加明顯。Hive利用Hadoop的HDFS存儲(chǔ)數(shù)據(jù),利用Hadoop的MapReduce執(zhí)行查詢。
Hive和Hadoop協(xié)作執(zhí)行任務(wù)的工作原理
(1) 用戶通過(guò)用戶接口向Driver提交executeQuery。
(2) Driver向Compiler發(fā)送獲取計(jì)劃的請(qǐng)求。
(3) Compiler根據(jù)用戶提交的executeQuery去MetaStore獲取需要的元數(shù)據(jù)信息。
(4) MetaStore向Compiler發(fā)送元數(shù)據(jù)信息。
(5) Compiler得到元數(shù)據(jù)信息,并向Driver發(fā)送計(jì)劃。
(6) Driver 向EXECUTION ENGINE提交executePlan。
(7) 用戶接口向Driver發(fā)起獲取結(jié)果集(fetchResults)的請(qǐng)求。
(8)Driver向EXECUTION ENGINE發(fā)起獲取結(jié)果集的請(qǐng)求。
(9)EXECUTION ENGINE向Driver發(fā)送結(jié)果集,Driver獲取到結(jié)果集后返回用戶接口。
Python數(shù)據(jù)預(yù)處理:通過(guò)astype()方法強(qiáng)制轉(zhuǎn)換數(shù)據(jù)的類型
2022-11-01觸發(fā)器是什么?MySQL里該怎么使用觸發(fā)器?
2022-10-31科學(xué)計(jì)算庫(kù)NumPy:數(shù)組與標(biāo)量間的運(yùn)算
2022-10-28Python培訓(xùn):預(yù)定義清理
2022-10-25大數(shù)據(jù)培訓(xùn):對(duì)某列數(shù)據(jù)應(yīng)用不同的函數(shù)
2022-10-24Python中關(guān)鍵字global與nonlocal的區(qū)別
2022-10-21北京校區(qū)