我正在使用Spark。
我希望Spark应用程序是一个长时间运行的应用程序,在完成计算并侦听HTTP请求并返回计算数据后,它不会退出。
我怎样才能开箱即用?现在,我只能编写一个while循环来确保程序继续运行。
答案 0 :(得分:3)
Spark没有开箱即用的功能。 Spark流式传输通过您在StreamingContext
上调用的awaitTermination()方法执行。然后,您只需要在Spark应用程序中实现HTTP
端点。
使用Spark Streaming功能是最简单的,你仍然可以让你的Spark作业使用常规RDD而不是DStreams,你可以只为awaitTermination
使用StreamingContext。
如果你不想使用Spark Streaming,你可能仍然可以看看他们如何使用锁定来实现它ContextWaiter#waitForStopOrError()