一段时间后停止 Spark Streaming 中的流上下文

Stop streaming context in Spark Streaming after a period of time

我构建了一个从 Twitter 接收 DStream 的应用程序,停止流上下文的唯一方法是停止执行。我想知道是否有一种方法可以在不停止整个应用程序的情况下设置时间并终止流式套接字?

您可以在 streamingContext 对象上使用 awaitTermination() 方法来等待指定的时间。参考 this

您可以使用

awaitTerminationOrTimeout(long)

如上一个答案所述,或者您可以从其他线程手动停止流上下文:

    // in the main thread
    awaitTermination(); // will wait forever or until the context is stopped

    // in another thread
    streamingContext.stop();