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接口