2017-10-13 14 views
0

私はStreamExecutionEnvironment.readFileメソッドを理解していません。 FileProcessingModeには、PROCESS_ONCEとPROCESS_CONTINUOUSLYという2つのオプションがあります。前者を選択すると、ファイルを一度だけ処理し、execute()の後に終了します。後者を選択すると、ファイルにいくつかの行を追加するだけで、ファイル全体を再度処理します(最後の処理の上に各単語の数など)。私はそれが「尾」のようなものだと思っています。何度も何度も何度も読んでいるのではなく、「ストリーム」からもっと多くのものを読むだけです。私はこの "ストリーミング"を失いました。誰かが、「一度」だけファイルを処理し、ファイルがログファイルのように多くのテキストを添付している間に続けるという「テール」のようなものがない理由を説明できますか?Flink FileProcessingMode困惑

答えて

0

PROCESS_CONTINUOUSLYでは、Flinkはタイムスタンプを状態として保持し、タイムスタンプより新しいファイルを取り込みます。あなたの観察は正確ですが、これがうまくいく場合があります。ファイルではなくディレクトリでPROCESS_CONTINUOUSLYを使用し、処理が完了し準備が整ったときに定期的にファイルをそのディレクトリに移動すると、「正確に1回」の動作が得られます。

関連する問題