走进大数据丨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是首选的 大数据查询引擎
Hive与Impala的比较
数据存储 都是基于HDFS或HBASE存储数据
元数据 使用的元数据是相同的。
SQL解释器 两者比较相近,生成执行计划。
执行计划 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