(1)impala整体架构

272 阅读1分钟

1. 系统架构图

image.png

2. 系统模块说明

impalad

impala集群中有多个impalad服务,接收用户请求的impalad为Coordinator角色。Coordinator接收到请求之后通过JNI调用Java解释SQL查询语句,生成查询计划树,再通过调度器将执行计划分发给Executor角色的impalad服务执行查询,Executor计算出结果返回给Coordinator,最终由Coordinator返回给客户端。 impala代码模块分类be/fe两个模块。 be模块使用c++代码编写,主要负责请求接入及Coordinator,Executor两个角色的逻辑。fe模块使用java编写,主要负责sql解析,查询计划生成。

image.png

catalogd

catalogd为impala集群的元数据服务,执行DDL语句时,会将对应的请求发送到catalogd执行,最终将DDL元数据信息存储到hive metastore中。

statestored

同步集群中的impalad的健康状态信息,单节点部署。

3. 接入支持

impala支持通过impala-shell,jdbc,odbc的方式进行进入,执行sql查询。

4. 存储支持

支持hdfs,kudu,hbase,s3等存储的数据查询扫描。