Apache spark 如何在Spark中指定任务超时?

Apache spark 如何在Spark中指定任务超时?,apache-spark,spark-structured-streaming,Apache Spark,Spark Structured Streaming,我有一个spark结构化的流媒体应用程序,每个批次都在几秒钟内得到处理。目前,当前批处理在一个多小时后,所有任务都处于运行状态 我如何在任务级别在Spark中指定一个超时,以告诉Spark如果任务未在定义的时间内完成,它应该重试?您想用它实现什么?我已经看到这种情况间歇性发生,这可能是由于数据库端的表锁/可能是死锁造成的。因为我知道我的批处理不会花费超过一分钟的时间而不是等待数小时,所以我希望spark在特定时间后重试。我看到了一个关于推测的属性,其中spark可以在不同的执行器上重试缓慢的任务

我有一个spark结构化的流媒体应用程序,每个批次都在几秒钟内得到处理。目前,当前批处理在一个多小时后,所有任务都处于运行状态


我如何在任务级别在Spark中指定一个超时,以告诉Spark如果任务未在定义的时间内完成,它应该重试?

您想用它实现什么?我已经看到这种情况间歇性发生,这可能是由于数据库端的表锁/可能是死锁造成的。因为我知道我的批处理不会花费超过一分钟的时间而不是等待数小时,所以我希望spark在特定时间后重试。我看到了一个关于推测的属性,其中spark可以在不同的执行器上重试缓慢的任务,但是我正在寻找是否可以为TaskProjection指定一个明确的超时,这并不是一个很好的用例。在某些情况下,在spark上,假设您的集群正忙,因此无法为您的工作找到执行者。在那个时候,投机活动也可能会影响经济。所以,要当心这一点,但你可以利用猜测。只是你不知道如何调整它。可能是网络触发了推测。我的任务处于运行状态,所以我想知道一个超时,它考虑了它在运行状态下花费的时间(在分配了Executor之后)您在寻找这个吗?您想用它实现什么?我已经看到这种情况间歇性地发生,这可能是由于数据库端的表锁/可能是死锁造成的。因为我知道我的批处理不会花费超过一分钟的时间而不是等待数小时,所以我希望spark在特定时间后重试。我看到了一个关于推测的属性,其中spark可以在不同的执行器上重试缓慢的任务,但是我正在寻找是否可以为TaskProjection指定一个明确的超时,这并不是一个很好的用例。在某些情况下,在spark上,假设您的集群正忙,因此无法为您的工作找到执行者。在那个时候,投机活动也可能会影响经济。所以,要当心这一点,但你可以利用猜测。只是你不知道如何调整它。可能是网络触发了推测。我的任务处于运行状态,所以我想知道一个超时,它考虑了它在运行状态下花费的时间(在分配了Executor之后)你在找这个吗?