一段时间后停止 Spark Streaming 作业
Stopping the Spark Streaming job after some time
有没有办法在一段时间后终止 spark streaming 作业,这样驱动程序就不会丢失并休息 API 显示作业已完成。
awaitTerminationOrTimeout(timeout: Long)
中的超时函数,您选择 timeout
的值,将在超时到期后继续执行您的主程序。
之后我们需要一些其他的等待函数来保持 spark 上下文活动以供检查。
类似于:
// create streaming context
// do dstream stuff
streamingContext.awaitTerminationOrTimeout(streamingTimeout)
streamingContext.stop(stopSparkContext = false)
Thread.sleep(afterStreamingTimeout) // keep alive for some time.
// the end
作为替代方案,您可以使用交互式环境(例如笔记本)进行此类实验。在那里,您可以通过发出 streamingContext.stop(stopSparkContext = false)
手动停止上下文,只要笔记本处于活动状态,spark 上下文就会仍然存在。 (这是我用来做原型的)
有没有办法在一段时间后终止 spark streaming 作业,这样驱动程序就不会丢失并休息 API 显示作业已完成。
awaitTerminationOrTimeout(timeout: Long)
中的超时函数,您选择 timeout
的值,将在超时到期后继续执行您的主程序。
之后我们需要一些其他的等待函数来保持 spark 上下文活动以供检查。
类似于:
// create streaming context
// do dstream stuff
streamingContext.awaitTerminationOrTimeout(streamingTimeout)
streamingContext.stop(stopSparkContext = false)
Thread.sleep(afterStreamingTimeout) // keep alive for some time.
// the end
作为替代方案,您可以使用交互式环境(例如笔记本)进行此类实验。在那里,您可以通过发出 streamingContext.stop(stopSparkContext = false)
手动停止上下文,只要笔记本处于活动状态,spark 上下文就会仍然存在。 (这是我用来做原型的)