Остановить контекст потоковой передачи в Spark Streaming через некоторое время

Я создаю приложение, которое получает DStreams из Twitter, единственный способ остановить контекст потоковой передачи-остановить выполнение. Интересно, есть ли способ установить время и завершить потоковый сокет без остановки всего приложения?

2 ответов


можно использовать

awaitTerminationOrTimeout(long)

Как упоминалось в предыдущем ответе, или вы можете остановить контекст потоковой передачи вручную из другого потока:

    // in the main thread
    awaitTermination(); // will wait forever or until the context is stopped

    // in another thread
    streamingContext.stop();

вы можете использовать метод awaitTermination () для объекта streamingContext для ожидания указанного времени. См.этой