2017-08-17 78 views
0

我是火花流媒体的初学者。我正在使用火花流生成和使用消息。但我无法阻止消费者。实际上,当制片人没有发送任何信息时,我需要停止播放。有人可以帮我java代码。如果可能的话给我一个小例子代码来停止java上的数据流。如何停止Java上的火花流?

我使用的火花版本2.2.0

conf.set("spark.streaming.stopGracefullyOnShutdown","true"); 
// Execute the Spark workflow defined above 
streamingContext.start(); 
try { 
    streamingContext.awaitTermination(); 
} catch (Exception e) { 
    // e.printStackTrace(); 
} 
+1

看看[this](https://stackoverflow.com/questions/39990681/how-to-stop-running-spark-streaming-application-gracefully/39993190#39993190)回答。 –

+0

我已更新** conf.set(“spark.streaming.stopGracefullyOnShutdown”,“true”); ** 但它并未停止流式传输。你能帮我解决吗? @Glennie –

+0

您是否按照文章中所述发送了停止信号?'stopGracefullyOnShutdown'只确保在JVM收到停止信号时正常停止流作业 - 您必须发送信号(或者必须编写程序发送信号)。 –

回答

0

stream不知道数据是否结束。 也许你可以杀死job如果你确信数据已经结束。

$spark-submit --master $masterurl --kill $driverid 

您可以找到driveridjobWEBUI

+0

我在windows上运行。在哪里使用你的命令? –