spark优点和模式

spark是一个可以替代mapreduce的新的分布式并行计算框架,其底层源码由SCALA写成,支持python、scala、java等大多数机器语言。

spark的优点:

1.mapreduce执行过程中,运行结束的task进程会释放掉进程占用的资源。spark只有当任务执行完了才会一次性把所有资源释放掉

2.MapReduce中执行Job,Job里面包涵一个或者多个的task,task分为MapTask和ReduceTask;spark的结构是application中包涵多个job(并行或者串行),job下有多个stage(stage以shuffle划分),stage下有众多task,多个task组成Task Set。

3.MapReduce的在运行中数据主要依靠磁盘,spark的运行数据会cache到内存中,读写速度更快,还可以通过persist优化,数据到内存和磁盘等五种方式

4.MapReduce的逻辑更加复杂,要考虑执行逻辑、资源分配、代码逻辑等,而spark只需要考虑代码逻辑,大部分工作由spark自行完成,当然在spark优化中,execute core、execute memory等可以做优化


spark优点和模式_第1张图片
MapReduce


spark优点和模式_第2张图片
spark

二、spark的模式

1.本地模式

2.spark  standalone模式:集群模式,由spark完全实现容错性和资源管理

3.spark on  yarn模式:集群模式,运行在yarn这个通用资源管理系统上的,和其他框架共享资源,其中yarn-cluster模式和yarn-client模式,client模式主要用来做交互和调试,cluster模式主要用于生产环境。两者的区别在于AM(application master)进程,cluster模式下,drive在AM中,向yarn的RM申请资源,并监督任务的运行情况,在完成申请之后,关闭client端;client模式下,AM仅向yarn请求executor,client会和请求的container通信来调度任务,并直至任务完成,client不能离开。在实际情况下,client模式能耐提交的任务在cluster模式下可能跑不通。


spark优点和模式_第3张图片
yarn-cluster模式


spark优点和模式_第4张图片
yarn-client模式


你可能感兴趣的:(spark优点和模式)