Ich erstelle eine Anwendung, die DStreams von Twitter empfängt. Die einzige Möglichkeit, den Streaming-Kontext zu stoppen, besteht darin, die Ausführung zu stoppen. Ich frage mich, ob es eine Möglichkeit gibt, eine Zeit einzustellen und den Streaming-Socket zu beenden, ohne die gesamte Anwendung zu stoppen?Streamingkontext im Spark-Streaming nach einer bestimmten Zeit stoppen
8
A
Antwort
5
Sie entweder
awaitTerminationOrTimeout(long)
wie in der vorherige Antwort erwähnte verwenden können, oder Sie können den Streaming-Kontext manuell aus dem anderen Thread stoppen:
// in the main thread
awaitTermination(); // will wait forever or until the context is stopped
// in another thread
streamingContext.stop();
1
Sie können die Methode awaistTermination() für das Objekt streamingContext verwenden, um eine bestimmte Zeit zu warten. Siehe this
Eklipse gibt mir diesen Marker, The Methode awayTermination (long) vom Typ JavaStreamingContext ist veraltet! Funken 1.4.0. Ich benutze awaistTerminationOrTimeout (Long), funktioniert immer noch nicht .. es weiter drucken. –
public void awayTermination (lange Zeitüberschreitung) Veraltet. Ab 1.3.0, ersetzt durch awaitTerminationOrTimeout (Long). Warten Sie, bis die Ausführung beendet ist. Alle während der Ausführung auftretenden Ausnahmen werden in diesem Thread ausgelöst. Parameter: Timeout - Wartezeit in Millisekunden – urug