Impalad进程是Impala的核心组件,它是运行在集群中每个Impala节点上的一个守护进程。它主要负责:
1、从HDFS或HBase中读、写数据;
2、接收来自JDBC、Impala Shell等客户端命令;
3、并行化执行查询语句,分发到Impala集群中其它节点,并将查询中间结果汇报到中央协调节点Impalad进程;
4、定时与statestore通讯,以确定哪些节点是健康的,可以接受新的工作;
5、接收catalogd守护进程(Impala 1.2中引入)的广播,广播信息包括集群中任意Impala节点上创建、修改、删除任意类型的对象,或者通过Impala执行的INSERT、 LOAD DATA语句。
在执行查询时,可以向Impala集群中任一节点上Impalad守护进程提交查询,这一节点便会成为整个查询的协调器节点,其他节点将查询的结果汇报汇聚到该协调节器节点,构成最终的查询结果。也可以采用一定算法负载均衡地向各个节点Impalad守护进程提交查询。