提交查询前,Impala创建负责协调客户端提交查询的Impalad进程,向Impala State Store提交注册订阅信息
State Store创建一个statestored进程,statestored进程通过创建多个线程来处理Impalad的注册订阅信息
用户通过CLI客户端提交一个查询到impalad进程,Impalad的Query Planner对SQL语句进行解析,生成解析树
Planner将查询的解析树变成若干PlanFragment,发送到Query Coordinator
Coordinator通过从元数据库中获取元数据,从HDFS的名称节点中获取数据地址,得到这个查询相关数据的所有数据节点
Coordinator初始化相应impalad上的任务执行,将查询任务分配给所有存储查询相关数据的数据节点
Query Executor通过流式交换中间输出,并由Query Coordinator汇聚来自各个impalad的结果
Coordinator把汇总后的结果返回给CLI客户端