Impala与Hive的对比分析

1. Impala架构

Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的 Hive+MapReduce批处理,而是通过使用与商用并行关系数据库中类似的分布式查询引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分组成),可以直接从HDFS或HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。其架构如图 1所示,Impala主要由Impalad, State Store和CLI组成。

图 1

Impalad: 与DataNode运行在同一节点上,由Impalad进程表示,它接收客户端的查询请求(接收查询请求的Impalad为 Coordinator,Coordinator通过JNI调用java前端解释SQL查询语句,生成查询计划树,再通过调度器把执行计划分发给具有相应数据的其它Impalad进行执行),读写数据,并行执行查询,并把结果通过网络流式的传送回给Coordinator,由Coordinator返回给客户端。同时Impalad也与State Store保持连接,用于确定哪个Impalad是健康和可以接受新的工作。在Impalad中启动三个ThriftServer: beeswax_server(连接客户端),hs2_server(借用Hive元数据), be_server(Impalad内部使用)和一个ImpalaServer服务。

Impala State Store: 跟踪集群中的Impalad的健康状态及位置信息,由statestored进程表示,它通过创建多个线程来处理Impalad的注册订阅和与各 Impalad保持心跳连接,各Impalad都会缓存一份State Store中的信息,当State Store离线后(Impalad发现State Store处于离线时,会进入recovery模式,反复注册,当State Store重新加入集群后,自动恢复正常,更新缓存数据)因为Impalad有State Store的缓存仍然可以工作,但会因为有些Impalad失效了,而已缓存数据无法更新,导致把执行计划分配给了失效的Impalad,导致查询失败。

CLI: 提供给用户查询使用的命令行工具(Impala Shell使用python实现),同时Impala还提供了Hue,JDBC, ODBC使用接口。

2. 与Hive的关系

Impala 与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧重适应面,但从客户端使用来看Impala与Hive有很多的共同之处,如数据表元数据、ODBC/JDBC驱动、SQL语法、灵活的文件格式、存储资源池等。Impala与Hive在Hadoop中的关系如图 2所示。Hive适合于长时间的批处理查询分析,而Impala适合于实时交互式SQL查询,Impala给数据分析人员提供了快速实验、验证想法的大数据分析工具。可以先使用hive进行数据转换处理,之后使用Impala在Hive处理后的结果数据集上进行快速的数据分析。

图 2

时间: 2024-08-03 21:23:55

Impala与Hive的对比分析的相关文章

Impala与Hive的比较

1. Impala架构 Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的 Hive+MapReduce批处理,而是通过使用与商用并行关系数据库中类似的分布式查询引擎(由Query Planner.Query Coordinator和Query Exec Engine三部分组成),可以直接从HDFS或HBase中用SELECT.JOIN和统计函数查询数据,从而大大降低了延迟.其架构如图 1所示,Impala主要由I

Ajax中解析Json的两种方法对比分析

  这里给大家介绍的是Ajax中解析Json的两种方法对比分析,十分的实用,本文为学习笔记,属新手文章,欢迎指教! eval(); //此方法不推荐 JSON.parse(); //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: ? 1 2 3 4 5 var jsonDate = '{ "name":"周星驰","age":23 }'   var jsonObj = eval( '(' + jsonDate + ')' );

新浪搜狐网易腾讯iPhone手机微博对比分析

文章描述:新浪搜狐网易腾讯iPhone手机微博对比分析. 一.登陆页(以下图片顺序均为新浪微.腾讯.搜狐.网易) 微博登录界面(新浪.腾讯) 微博登录界面(搜狐.网易) 四款iphone微博客户端从页面上看,只有网易和腾讯的支持记住用户名和密码,实际操作后就会发现,其实大家都是默认记录的.并且新浪微博支持多账户切换,默认记录为最后一个登陆的用户.外观上,除了新浪微博客户端增加了"微博广场"的内容推广对新用户有写引导以外,其他三家基本相同. 新浪微博支持多帐户切换 多贴一张新浪的多账户切

对比分析垃圾站和正规站SEO优化的异同之处

刚接触做站的站长总是很容易纠结于一个问题,那就是到底是做正规站好还是做垃圾站好?似乎让人们比较容易接受的就是垃圾站的"寿命"总是长不过正规站,但又不得不承认做垃圾站能够更快地赚到钱,只要你的SEO优化技术到位.但一旦随着我们做站经历和经验的增长,这样的心态便会很快地消失,因为只要你做的站不违法,垃圾站确实是做站赢利的一条相对"捷径",而正规站更是值得站长长久发展的志向所在,如何让两种站都赢利才是作为站长最应该关心的问题. 无论做垃圾站,抑或是正规站,要想让网站获得较

北京seo:团购行业的两个案例对比分析

团购(B2T)行业2010年的新产物,现在已经迅速在全国各大城市成熟起来,成为众多消费者追求的一种现代流行.时尚的购物方式,因为它有效的防止了不成熟市场的暴利.个人消费的盲目.抵制了大众消费的泡沫.目前拉手网,G团网,美团,懒人团购网,团宝网,QQ团,大众点评团,糯米团等团购网站占尽很大的市场.而其它的团购网站也纷纷揭竿,来抢这一块市场. 今天北京seo对团800和我是团长这两个网站进行对比分析,主要是给朋友分析的,在这里也分享给各位朋友. 一.两个网站的友情链接对比: 1.团800友情链接页面

php中数据库连接方式pdo和mysqli对比分析

 这篇文章主要介绍了php中数据库连接方式pdo和mysqli从各个方面进行了对比分析,十分全面,这里推荐给大家,有需要的小伙伴来参考下.     1)总的比较     PDO MySQLi 数据库支持 12种不同的数据库支持 支持MySQL API OOP OOP + 过程 Connection Easy Easy 命名参数 支持 不支持 对象映射支持 支持 支持 预处理语句 (客户端) 支持 不支持 性能 快 快 支持存储过程 支持 支持 2 连接方式 先来看下两者连接数据库的方式:   代

javascript中call,apply,bind的用法对比分析

 这篇文章主要给大家对比分析了javascript中call,apply,bind三个函数的用法,非常的详细,这里推荐给小伙伴们.     关于call,apply,bind这三个函数的用法,是学习javascript这门语言无法越过的知识点.下边我就来好好总结一下它们三者各自的用法,及常见的应用场景. 首先看call这个函数,可以理解成"借用","请求".想像一下如下的情景:你孤单一人漂泊在外,有急事想往家里打电话,可是很不巧,手机欠费了,或者没电了,或者掉坑里了

高票房的《致青春》《钢铁侠3》营销点对比分析

五月的天是火热的,五月的电影营销也同样火热.赵薇的导演处女作<致我们终将逝去的青春>(以下笔者就简称<致青春>)和好莱坞大片<钢铁侠3>真可谓赚足了眼球.光是票房纪录这块估计都已经让光线传媒和DMG这两家公司喜笑颜开,但是这两部影片的上映前后的营销工作也异常激烈.那么笔者就来对比分析这两部在内地如此卖座的电影一些营销点. 先来看一下两部影片的辉煌战绩: <钢铁侠3>:首日上映便连创4项内地影视票房记录---首日票房冠军(之前是<变形金刚3>1.1

ArrayList和LinkedList的几种循环遍历方式及性能对比分析

主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论. 通过本文你可以了解(1)List的五种遍历方式及各自性能 (2)foreach及Iterator的实现 (3)加深对ArrayList和LinkedList实现的了解. 阅读本文前希望你已经了解ArrayList顺序存储和LinkedList链式的结构,本文不对此进行介绍. 相关:HashMap循环遍历方式及其性