Mapreduce 和 Spark都是并行计算,那么他们有什么相同和区别

Mapreduce 和 Spark都是并行计算,那么他们有什么相同和区别,第1张

Mapreduce 和 Spark都是并行计算,那么他们有什么相同和区别

两者都是用mr模型来进行并行计算:
1)hadoop的一个作业称为job,job里面分为map task和reduce task,每个task都是在自己的进程中运行的,当task结束时,进程也会结束。
2)spark用户提交的任务成为application,一个application对应一个sparkcontext,app中存在多个job,每触发一次action *** 作就会产生一个job。这些job可以并行或串行执行,每个job中有多个stage,stage是shuffle过程中DAGSchaduler通过RDD之间的依赖关系划分job而来的,每个stage里面有多个task,组成taskset有TaskSchaduler分发到各个executor中执行,executor的生命周期是和app一样的,即使没有job运行也是存在的,所以task可以快速启动读取内存进行计算。
3)hadoop的job只有map和reduce *** 作,表达能力比较欠缺而且在mr过程中会重复的读写hdfs,造成大量的io *** 作,多个job需要自己管理关系。
spark的迭代计算都是在内存中进行的,API中提供了大量的RDD *** 作如join,groupby等,而且通过DAG图可以实现良好的容错。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5706231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存