Spark之Job调度模式

原创 2015年11月18日 16:59:43
用户通过不同的线程提交的Job可以并发运行,但是受到资源的限制。Job到调度池(pool)内申请资源,调度池会根据工程的配置,决定采用哪种调度模式。

  • FIFO模式
     在默认情况下,Spark的调度器以FIFO(先进先出)方式调度Job的执行。每个Job被切分为多个Stage。第一个Job优先获取所有可用的资源,接下来第二个Job再获取剩余资源。以此类推,如果第一个Job并没有占用所有的资源,则第二个Job还可以继续获取剩余资源,这样多个Job可以并行运行。如果第一个Job很大,占用所有资源,则第二个Job就需要等待第一个任务执行完,释放空余资源,再申请和分配Job。如果是相同的Job不同的Stage,则优先执行较早的Stage。
  • FAIR模式
     在FAIR共享模式调度下,Spark在多Job之间以轮询(round robin)方式为任务分配资源,所有的任务拥有大致相当的优先级来共享集群的资源。这就意味着当一个长任务正在执行时,短任务仍可以分配到资源,提交并执行,并且获得不错的响应时间。这样就不用像以前一样需要等待长任务执行完才可以。这种调度模式很适合多用户的场景。
版权声明:本文为博主原创文章,未经博主允许不得转载。

Spark调度模式-FIFO和FAIR

Spark中的调度模式主要有两种:FIFO和FAIR。使用哪种调度器由参数spark.scheduler.mode来设置,默认为FIFO...

Spark的任务调度

本文尝试从源码层面梳理Spark在任务调度与资源分配上的做法。

Spark job在hue-oozie中的另一种方式调度

工作中使用的是hue来配置oozie工作流调度及任务中调度关系,spark job的输入是由hive sql产生输出的表,在配置spark job由于一些客观关系出现很多问题导致无法正确的执行,在oo...

Spark源码分析之二:Job的调度模型与运行反馈

在《Spark源码分析之Job提交运行总流程概述》一文中,我们提到了,Job提交与运行的第一阶段Stage划分与提交,可以分为三个阶段:         1、Job的调度模型与运行反馈;       ...

spark源码之Job执行(2)任务调度taskscheduler

一、submitStage划分stages后提交taskif (tasks.size > 0) {//如果存在tasks,则利用taskScheduler.submitTasks()提交task,否则...

SPARK提交job的几种模式

spark常见的提交方式,有local的,有yarn-client,yarn-cluster等,下面来具体的介绍怎么写提交的脚本...

TaskScheduler解密:Spark shell案例,TaskScheduler和SchedulerBackend、FIFO与FAIR模式调度解密、Task数据本地性资源分配

TaskSchedulerBackend与SchedulerBackendFIFO与FAIR两种调度模式Task数据本地性资源的分配一、TaskScheduler运行过程(Spark-shell角度)...

Spark storage系列------3.Spark cache数据块之后对后继Job任务调度的影响,以及后继Job Task执行的影响

DAGScheduler.submitStage建立Spark应用的物理执行图,DAGScheduler.submitStage通过调用DAGSchdeuler.getMissingParentSta...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spark之Job调度模式
举报原因:
原因补充:

(最多只允许输入30个字)