2017-08-17 88 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上運行。在哪裏使用你的命令? –