走进大数据丨Impala是什么
Posted ItStar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了走进大数据丨Impala是什么相关的知识,希望对你有一定的参考价值。
Impala
是Cloudera公司推出,
提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能
。
提供实时的查询效果,官方测试性能比hive快10到100倍,其sql查询比sparkSQL还要更加快速,号称是当前大数据领域最快的查询sql工具。
Impala是参照谷歌的新三篇论文(Caffeine–网络搜索引擎、Pregel–分布式图计算、Dremel–交互式分析工具)当中的Dremel实现而来,其中旧三篇论文分别是(BigTable,GFS,MapReduce)分别对应我们即将学的HBase和已经学过的HDFS以及MapReduce。
Impala是基于hive并使用内存进行计算,兼顾数据仓库,具有实时,批处理,多并发等优点
。
如果使用CDH版本的
大数据框架
,Impala是首选的
大数据查询引擎
。
数据存储
:
都是基于HDFS或HBASE存储数据
执行计划
:
Hive依赖于MapReduce框架。
Impala把执行计划表现为一棵完整的执行计划树,可以更自然地分发执行计划到各个Impalad执行查询,而不用像Hive那样把它组合成管道型的
map->reduce模式
,以此保证Impala有更好的并发性和避免不必要的中间
s
ort与shuffle
,从而
提高效率
。
数据流
:
Hive: 采用推的方式,每一个计算节点计算完成后将数据主动推给后续节点
。
Impala:
采用拉的方式,后续节点通过getNext主动向前面节点要数据,以此方式数据可以流式的返回给客户端,且只要有1条数据被处理完,就可以立即展现出来,而不用等到全部处理完成,
更符合SQL交互式查询使用
。
内存使用
:
Hive执行中如果内存存储不够,会存储进入磁盘中处理,是符合MapReduce中shuffle的流程。
Impala是基于内存处理的,如果内存存储不够,是不会往磁盘里面存储的,会报错。
调度
:
Hive依赖于hadoop的调度策略。
Impala调度由自己完成,
目前只有一种调度器simple-schedule
,它会尽量
满足数据的局部性
,扫描数据的进程尽量靠近数据本身所在的物理机器。
容错
:
hive依赖hadoop的容错机制。
Impala没有容错,如果执行过程发生故障会直接报错。
Impala是定位实时查询的,所以如果失败重新运行一次即可。
总结
:
hive是做一些复杂的批处理任务,Impala是处理实时查询的,但是不支持UDF,处理能力是有一些限定的,一般是两者结合使用。
以上是关于走进大数据丨Impala是什么的主要内容,如果未能解决你的问题,请参考以下文章
走进大数据丨 MapReduce之数据倾斜
走进大数据丨Spark Streaming VS Flink
走进大数据丨 企业级YARN部署
走进大数据丨 Hadoop常见的操作命令
技术专栏丨小插件大用途,带你走进IDE插件的世界
从放弃到入门27之大数据Cloudera Impala