【spark】之Job调度模式

来源:互联网 发布:淘宝css滚动栏 编辑:程序博客网 时间:2024/06/06 06:38
用户通过不同的线程提交的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)方式为任务分配资源,所有的任务拥有大致相当的优先级来共享集群的资源。这就意味着当一个长任务正在执行时,短任务仍可以分配到资源,提交并执行,并且获得不错的响应时间。这样就不用像以前一样需要等待长任务执行完才可以。这种调度模式很适合多用户的场景。
原创粉丝点击