Spark投机的新任务是否有限制?

时间:2019-12-18 13:49:58

标签: apache-spark pyspark speculative-execution

假设我在Spark中以推测= true的身份从事工作。 如果一个任务(例如T1)花费很长时间,Spark会在另一个执行器上启动任务T1的副本,例如T2,而不会杀死T1。

现在,如果T2花费的时间比所有成功完成任务的中值还要长,Spark会在另一个执行器上启动另一个任务T3吗?

如果是,那么产生新任务是否有任何限制?如果否,Spark是否将自身限制为一项并行作业,并无限期地等待其中一项完成?

1 个答案:

答案 0 :(得分:1)

火花cl main.cpp user32.lib opengl32.lib gdi32.lib /EHsc /DEBUG /Z7 负责该逻辑。尝试启动可推测任务时,它正在检查原始任务的至多副本是否正在运行。因此,在您的示例中,永远不要启动T3,因为它将运行2个副本。

您可以找到代码here的相关部分。