MR与Spark的区别

1、MR与Spark的区别
1.hadoop中的一个任务称为job,一个job分为map task和reduce task 每个task都是在自己的进程中运行的,当task 运行结束以后,进程也会结束

2.spark的一个任务叫做application,一个application中有多个job,每触发一次action操作就会产生一个job,这些job可以并行也可以串行计算,每个job中有多个stage,stage是shuffle过程中DAGScheduler通过RDD之间的依赖关系划分job而来的,每个stage里面有多个task,组成taskset,然后由taskscheduler来进行分发到exector中进行执行,executor的生命周期和app的生命周期是一样的,即使没有job运行也是存在。所以task可以快速启动读取内存进行计算。

3.hadoop的job只有map和reduce操作,表达能力欠缺且在mr过程中会重复的读写hdfs,造成大量的io操作,多个job需要自己管理关系,spark的迭代计算都是在内存汇总进行的,api提供了大量的rdd操作如join,groupby等,而且通过DAG图可以实现良好的容错。

原文链接:https://blog.csdn.net/weixin_43704599/article/details/109610374

猜你喜欢

转载自blog.csdn.net/hzp666/article/details/114971356
MR
今日推荐