Spark StreamingContext awaitTerminationOrTimeout

时间:2016-11-01 13:18:50

标签: apache-spark

我正在呼叫streamingContext.awaitTerminationOrTimeout(timeout),但我想要依赖timeout环境。

这意味着如果我的环境是UAT,我想停止我的工作,但如果我的环境是生产环境,我根本不想让它超时。

我已经查看了文档here,但是我无法找到任何关于传递0-1作为超时的引用是否会让作业永远运行(或者直到它失败了。)

是否有任何可能的timeout值可以解决问题?或者其他任何替代方案都不代表我的生产环境awaitTermination和我的UAT环境awaitTerminationOrTimeout

1 个答案:

答案 0 :(得分:2)

看了一下图书​​馆后,我发现任何负值都可以。

awaitTerminationOrTimeout(timeout)在内部调用streamingContext.awaitTerminationOrTimeout(timeout),然后调用contextWriter.waitForStopOrError(timeout)

waitForStopOrError内,有条件说如果timeout低于零,那么我们就等了。

TL:DR -1永远不会让作业超时。