1.(執行查詢操作)Execute Query
命令行或Web UI之類的Hive接口將查詢發送給Driver(任何數據庫驅動程序,如JDBC、ODBC等)以執行。
2、(獲取計劃任務)Get Plan
Driver藉助查詢編譯器解析查詢,檢查語法和查詢計劃或查詢需求
3、(獲取元數據資訊)Get Metadata
編譯器將元數據請求發送到Metastore(任何數據庫)。
4、(發送元數據)Send Metadata
Metastore將元數據作爲對編譯器的響應發送出去。
5、(發送計劃任務)Send Plan
編譯器檢查需求並將計劃重新發送給Driver。到目前爲止,查詢的解析和編譯已經完成
6、(執行計劃任務)Execute Plan
Driver將執行計劃發送到執行引擎。
7、(執行Job任務)Execute Job
在內部,執行任務的過程是MapReduce Job。執行引擎將Job發送到ResourceManager,
ResourceManager位於Name節點中,並將job分配給datanode中的NodeManager。在這裏,查詢執行MapReduce任務.
7.1.(元數據操作)Metadata Ops
在執行的同時,執行引擎可以使用Metastore執行元數據操作。
8、(拉取結果集)Fetch Result
執行引擎將從datanode上獲取結果集
9.(發送結果集至driver)Send Results
執行引擎將這些結果值發送給Driver。
10、(driver將result發送至interface)Send Results
Driver將結果發送到Hive接口