一. 简介
Impala 是基于Hive并使用内存进行计算,兼顾数据仓库,具有实时,批处理,多并发等优点。
底层依赖hive,与Hive公用一套元数据存储。
Impala与hive的最大区别在于不是把sql编译成MR程序,而是编译成执行计划树
1. 与Hive的对比
Hive: 预处理工作
Impala: 实时查询
二. 核心
1. 与Hive的异同
Impala 使用的优化技术 C/C++
执行计划
数据流
内存使用
调度 simple-schedule
容错
2. Impala 架构
CLI/Impalad/State Store/Catalogd/Coordinate/Impala shell
Impalad: Java前端+C++后端
Impala 的执行流程