> 文章列表 > impala

impala

impala

impala之所以比hive快是因为它生成的完整执行计划树自然地分发到各个lmpalad节点上执行,而不是管道拼接式mr任务的组合。

hive推,前面没处理完,等着
impala拉,主动拉取结果数据,流式拉取有多少拉多少,不用等待所有结果出来才反馈

impala完全基于内存

hive调度依赖于hadoop
impala调度使用simple-sceduler,按距离使用就近节点,优化生成执行计划

impala没有容错逻辑

impala架构:
impalad 集群服务节点通常与datanode安装在同一物理节点,当它接受了客户端请求时,他就变成了coordinator,调用javajni解释sql语句并生成执行计划,在通过调度器分发任务给网络中各节点执行,结果流式返回给coordinator,再返回给客户端

impala stats store
管理所有impalad的运行,健康状态,位置信息

catalogd hive元数据和impala元数据的媒介,网关,同步两边的元数据信息,拉取hive元数据到impala,impala更新了也会同步hive,但hive中修改元数据不会自动更新impala,故需要手动刷新

每个impala服务分为java前端和c++后端

数据存储信息通过libhdfs实现,与hdfs交互