Hive执行SQL步骤
执行查询
从Hive的CLI或WebUI发查询命令给驱动程序(任何JDBC、ODBC数据库驱动)执行
获得计划
驱动程序请求查询编辑器解析查询、检查语法、生成查询计划或者查询所需要的资源
获取元数据
编译器向元数据存储数据库发送元数据请求
发送元数据
作为响应,元数据存储数据库向编译器发送元数据
发送计划
编译器检查需要的资源,并把查询计划发送给驱动程序。至此,查询解析完成
执行计划
驱动程序向执行引擎发送执行计划
执行作业
执行计划的处理是一个MR作业。执行引擎向NameNode上的JobTracker进程发送作业,JobTracker把作业分配给DataNode上的TaskTracker进程。此时,查询执行MR作业
操作元数据
执行作业的同时,执行引擎可能会执行元数据操作,如DDL语句等
取回结果
执行引擎从DataNode接收结果
发送结果
执行引擎向驱动程序发送合成的结果值
发送结果
驱动程序向Hive接口(CLI或WebUI)发送结果