天天看点

impala的工作原理的详解(图文)

工作原理:

     impala属于Cloudera,基于内存的,可用户实时的交互式查询。Cloudera建议Impala集群内存最少128G,Impalad与DataNode运行在同一节点上

impala的工作原理的详解(图文)

impala与Hivemetastore database相集成,这两个组件之间可以共享database和table。

如图所示,Impala主要由Impalad, State Store和CLI组成。

Impalad: 与DataNode运行在同一节点上,由Impalad进程表示,它接收客户端的查询请求(接收查询请求的Impalad为Coordinator,Coordinator通过JNI调用java前端解释SQL查询语句,生成查询计划树,再通过调度器把执行计划分发给具有相应数据的其它Impalad进行执行),读写数据,并行执行查询,并把结果通过网络流式的传送回给Coordinator,由Coordinator返回给客户端。同时Impalad也与State Store保持连接,用于确定哪个Impalad是健康和可以接受新的工作。在Impalad中启动三个ThriftServer: beeswax_server(连接客户端),hs2_server(借用Hive元数据), be_server(Impalad内部使用)和一个ImpalaServer服务。