实际上spark也是mapreduce,他是更深层次的mapreduce,MR分mapper和reducer阶段,spark在某种程度上也可以变相分成mapper和reducer阶段,MR和Spark中也都有shuffle阶段,所以两者的原理大致相同,只不过spark之间的这种mapper是可以复用的
mapreduce中的每个task分别在自己的进程中运行,当该task运行完的时候,该进程也就结束了。和mapreduce不一样的是,spark中多个task可以运行在一个进程里面,而且这个进程的生命周期和application一样,即使没有job在运行。
这个模型有什么好处呢?可以加快spark的运行速度!tasks可以快速地启动,并且处理内存中的数据。但是这个模型有的缺点就是粗粒度的资源管理,每个application拥有固定数量的executor和固定数量的内存。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....