一段时间后停止Spark streaming中的流式处理上下文

一段时间后停止Spark streaming中的流式处理上下文,stream,apache-spark,twitter4j,spark-streaming,Stream,Apache Spark,Twitter4j,Spark Streaming,在构建一个从Twitter接收数据流的应用程序时,停止流上下文的唯一方法是停止执行。我想知道是否有一种方法可以设置时间并在不停止整个应用程序的情况下终止流套接字?您可以使用streamingContext对象上的waittermination()方法来等待指定的时间。请参阅,您可以使用 awaitTerminationOrTimeout(long) 如前一个答案所述,您也可以从其他线程手动停止流式处理上下文: //在主线程中 等待终止();//将永远等待或直到上下文停止 //在另一个线程中 s

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

您可以使用
streamingContext
对象上的
waittermination()
方法来等待指定的时间。请参阅,您可以使用

awaitTerminationOrTimeout(long)
如前一个答案所述,您也可以从其他线程手动停止流式处理上下文:

//在主线程中
等待终止();//将永远等待或直到上下文停止
//在另一个线程中
streamingContext.stop();

Eclipse给了我这个标记,JavaStreamingContext类型的方法(long)已被弃用!火花1.4.0。我使用了awaitTerminationOrTimeout(长),但仍然不起作用。它一直在打印。不推荐使用public void awaitTermination(长超时)。从1.3.0起,替换为等待终止或超时(长)。等待执行停止。执行期间发生的任何异常都将在此线程中抛出。参数:timeout-等待的时间(毫秒)