赞
踩
1)编程
MR有局限性,编程繁杂,只提供了map和reduce方法,而spark是High-Level,提供了80多个算子
2)进程级别
MR中maptask和reducetask有很多的进程,进程启动和销毁要花大量的时间。
spark的task基于线程,在每一个executor中都有一个线程池。
3)资源申请
在MR中,每个job的maptask和reducetask都需要单独的申请资源 ,资源反复申请很耗时。
在spark中,无论一个应用程序有多少个job,只需要申请一次资源即可。
当然,spark资源的释放要所有job执行完才可以。
4)IO
MR基于磁盘和有限的内存,Spark基于内存。所以这就造成了IO上的差异。
MR的I/O频繁,比如Mapper和Reducer读取、溢写、merge、结果输出、shuffle、combiner
spark的I/O较少,数据读取、结果输出,可能存在的shuffle及持久化
spark是基于p
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。