2016-05-16 10 views
1

Ich habe das Beispielprojekt eingerichtet und es gebaut. Ich kann das WordCount-Programm wie erwartet ausführen. Aber wenn ich den SocketTextWordCount ausführe, bekomme ich keine Ergebnisse ausgedruckt.Warum funktioniert der Flink SocketTextStreamWordCount nicht?

  • I-Daten in durch nc senden (localhost: 9999 auf beiden Seiten)
  • In der Web-Konsole für den laufenden Job, kann ich sehen, dass es Nachrichten

gesendet/empfangen werden, aber Ich sehe nie die counts.print() Ausgabe irgendwo ausgedruckt, auch nach dem Töten der NC-Sitzung.

BEARBEITEN - wenn ich es ändere, um Ergebnisse in eine Textdatei zu drucken, kein Problem. Das Problem scheint zu sein, dass counts.print() nicht korrekt in das stdout der Konsole schreibt, in der ich das Beispiel ausführe.

Antwort

3

DataStreams werden im Standard-out des TaskManager-Prozesses gedruckt. Beim Start einer Flink-Instanz (lokal oder Cluster) wird das Standard-Out eines TaskManagers in eine .out Datei im Verzeichnis ./log/ des Flink-Wurzelverzeichnisses geleitet. Sie sollten also prüfen, ob die Ausgabe in diese Dateien geschrieben wird.

Dieses Verhalten unterscheidet sich von DataSet.print(), wo die Ergebnisse im JobManager gesammelt, an den Client gesendet und vom Client gedruckt werden.

+0

Danke! Das hilft einem Haufen. – wilkyred

Verwandte Themen