Hive on Mapreduce執(zhí)行流程

執(zhí)行流程詳細(xì)解析

Step 1:UI(user interface) 調(diào)用 executeQuery 接口,發(fā)送 HQL 查詢語句給 Driver

Step 2:Driver 為查詢語句創(chuàng)建會話句柄,并將查詢語句發(fā)送給 Compiler, 等待其進(jìn)行語句解析并生成執(zhí)行計劃

Step 3 and 4:Compiler 從 metastore 獲取相關(guān)的元數(shù)據(jù)

Step 5:元數(shù)據(jù)用于對查詢樹中的表達(dá)式進(jìn)行類型檢查,以及基于查詢謂詞調(diào)整分區(qū),生成計劃

Step 6 (6.1,6.2,6.3):由 Compiler 生成的執(zhí)行計劃是階段性的 DAG,每個階段都可能會涉及到 Map/Reduce job、元數(shù)據(jù)的操作、HDFS 文件的操作,Execution Engine 將各個階段的 DAG 提交給對應(yīng)的組件執(zhí)行。

Step 7, 8 and 9:在每個任務(wù)(mapper / reducer)中,查詢結(jié)果會以臨時文件的方式存儲在 HDFS 中。保存查詢結(jié)果的臨時文件由 Execution Engine 直接從 HDFS 讀取,作為從 Driver Fetch API 的返回內(nèi)容。

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

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