

MapReduce1.x运行在Hadoop之上,而现在MapReduce是运行在Yarn之上,Yarn主要包含两大组件,ResourceManger主要负责是管理资源,AppApplicationMaster主要是用来向ResourceManger申请资源以及向管理各个节点的子任务的执行。引入Yarn是因为taskTracker,joinTracker既要负责任务调度又要负责资源分配,导致负载非常重,于是把资源管理分给Yarn.


Hive是一个离线批处理的SQL查询框架,Hive跑在mapreduce之上,mapreduce又是跑在yarn之上。Impala把主要的计算逻辑都放在内存里来做,即用内存来提供直接的SQL查询,数据仍然存在HDFS中,但是他会把HDFS中可能或大概率用到的数据预加载到内存中,这样可以直接从内存中查询数据,提高了速度。Impala执行SQL语句比Hive性能要高3-50倍。Impala的缺点是吃内存。



本文探讨了MapReduce在Yarn架构下的资源管理优势,并比较了Hive与Impala在批处理和实时查询上的性能差异,重点介绍了Hive的离线处理和Impala的内存优化策略。
5785

被折叠的 条评论
为什么被折叠?



