Apache spark 火花调度模式

Apache spark 火花调度模式,apache-spark,scheduling,Apache Spark,Scheduling,我正在构建一个Spark应用程序,其中我提交了几个作业(pyspark)。 我正在使用线程并行运行它们,并且我正在设置: conf.set(“spark.scheduler.mode”,“FAIR”) 尽管如此,我仍然看到作业以FIFO方式连续运行。 我错过什么了吗 编辑: 在给Spark邮件列表写信之后,我得到了更多的东西: Spark的公平调度算法不是循环: 没有抢占,这意味着即使使用scheduler.mode“FAIR”,也无法确保每个阶段都会“稍微”执行。调度恰好在资源(核心)可用时

我正在构建一个Spark应用程序,其中我提交了几个作业(pyspark)。 我正在使用线程并行运行它们,并且我正在设置: conf.set(“spark.scheduler.mode”,“FAIR”)

尽管如此,我仍然看到作业以FIFO方式连续运行。 我错过什么了吗

编辑: 在给Spark邮件列表写信之后,我得到了更多的东西:

  • Spark的公平调度算法不是循环:
  • 没有抢占,这意味着即使使用scheduler.mode“FAIR”,也无法确保每个阶段都会“稍微”执行。调度恰好在资源(核心)可用时发生

我完全忽略了最后一点

很明显,spark不支持所有类型的线程。如果作业是spark操作,则只能并行提交作业

在给定的Spark应用程序(SparkContext实例)中,如果多个并行作业是从单独的线程提交的,则它们可以同时运行。在本节中,我们所说的“作业”是指Spark操作(例如保存、收集)以及需要运行以评估该操作的任何任务。Spark的调度程序是完全线程安全的,并支持此用例,以支持服务于多个请求(例如,多用户查询)的应用程序


请按此操作

您有多少遗嘱执行人

如果您有一个执行者,那么FIFO与FAIR相同

我这么说是因为默认情况下,独立模式创建2个执行器,在“集群”模式下,您的作业将取1个作为驱动程序,1个作为执行器


因此,您需要4个执行器以群集模式运行2个作业。

。我阅读了文档,但我可以向您保证,它们仍然以FIFO方式运行,没有任何循环。您传递了什么url?