1扣讼、Execute Query
Hive接口猜极,如命令行或Web UI發(fā)送查詢驅(qū)動程序(任何數(shù)據(jù)庫驅(qū)動程序,如JDBC色查,ODBC等)來執(zhí)行薯演。
2、Get Plan
在驅(qū)動程序幫助下查詢編譯器秧了,分析查詢檢查語法和查詢計劃或查詢的要求跨扮。
3、Get Metadata
編譯器發(fā)送元數(shù)據(jù)請求到Metastore(任何數(shù)據(jù)庫)验毡。
4 Send Metadata
Metastore發(fā)送元數(shù)據(jù)衡创,以編譯器的響應(yīng)。
5 Send Plan
編譯器檢查要求晶通,并重新發(fā)送計劃給驅(qū)動程序璃氢。到此為止,查詢解析和編譯完成狮辽。
6 Execute Plan
驅(qū)動程序發(fā)送的執(zhí)行計劃到執(zhí)行引擎拔莱。
7 Execute Job
在內(nèi)部,執(zhí)行作業(yè)的過程是一個MapReduce工作隘竭。執(zhí)行引擎發(fā)送作業(yè)給JobTracker塘秦,在名稱節(jié)點并把它分配作業(yè)到TaskTracker,這是在數(shù)據(jù)節(jié)點动看。在這里尊剔,查詢執(zhí)行MapReduce工作。
7.1 Metadata Ops
與此同時菱皆,在執(zhí)行時须误,執(zhí)行引擎可以通過Metastore執(zhí)行元數(shù)據(jù)操作。
8 Fetch Result
執(zhí)行引擎接收來自數(shù)據(jù)節(jié)點的結(jié)果仇轻。
9 Send Results
執(zhí)行引擎發(fā)送這些結(jié)果值給驅(qū)動程序京痢。
10 Send Results
驅(qū)動程序?qū)⒔Y(jié)果發(fā)送給Hive接口。