2016-11-05 12 views
0

がウィンドウ演算子を使用しない場合でも、Flinkはアウトオブオーダーのタプルを処理します?例えばフライイングなしでFlinkのタプルがウィンドウなし

withTimestampsAndWatermarks 
     .keyBy(...) 
     .map(...) // some stateful function 
     .addSink(...); 

map正しい透かしを受信するまでの要素を処理するために待機するか、待たずに要素を処理しますか?

問題は、mapというパーティション状態が、タプルの順序外処理の影響を受ける可能性があることです。

は事前

答えて

0

短い答えはノーあるにありがとう。マップ演算子はウォーターマークではまったく動作しません。 入力ストリームと同じ順序で要素を取得します。

StreamMap演算子の実装を確認してください。ウォーターマークの要素が出力に転送されるだけです。

+0

「長い」回答はありますか?これは、keyByの後に適用できるすべての関数に一般化できますか? – affo

+0

受信した要素の順序が結果にどのようなステートフルなアルゴリズムを使用しているかを詳しく説明できますか?いくつかの不注意な要素を待つ場合は代わりに 'windowing'を使います。ここで、要素がどれくらいの順序で不順になるかを指定できます(' allowedLateness')。 – vanekjar

+0

ウィンドウを使用する場合にのみ、順不同のタプルが並べ替えられたかどうか疑問に思っていました。私はあなたが私の質問に完全に答えたと思う。ありがとうございました – affo

関連する問題