これは非常に複雑な概念です。1.ウィンドウ(TumblingEventTimeWindows.of(Time.seconds(n)))、このExpressは2つの概念、ウィンドウを持っています:EventWindow、イベント時刻がウォーターマークでマークされ、ウィンドウがウォーターマークによって作成されます。時間はイベント時間、n秒はイベント時間です。ウィンドウのサイズはイベントの時間サイズです。 ウィンドウ[0〜5s]は1回だけ計算され、ウィンドウ[5〜10s]が閉じられると結果が出ます。 2. allowedLateness(Time.seconds(5))、この表現にはただ1つのコンセプト(潜在時間(現実世界の時間))があります。しかし、それは見た目ほど簡単ではありません。イベント[0〜5s]が来るとウィンドウ[0〜5s]を作成するか、特定ウィンドウ[0〜5s]に入れ、別のイベント[5〜10]が来ると、widow [0 〜5秒)を閉じると、新しいウィンドウ[5〜10秒]が作成されます。遅れが誘発され、イベントがウィンドウ[0〜5s)<待ち時間(これは現実世界の時間)になり、イベントを計算することができる。これはあまり正確ではありません。 allowedLatenessはウィンドウの計算方法を変更しますが、これはOnly Windowの計算とは異なります。 Oncelateイベントが来たら、それは一度計算されます。実際の世界時間は実際にサーバー時間です。 3.新しいウォーターマーク(currentTime - N)は、この表現は唯一の概念を持っています:秩序の乱れ、これはウィンドウの計算を遅らせる、それはちょうどウィンドウ時間(閉時)遅延N秒です。一度だけ計算されます。Flinkウィンドウ、イベント時間、Lateness、maxOutOfOrderness
データ速度が速すぎると、イベントが非常に速く入力されます。ウィンドウが閉じていると、Iteratorの計算がまだ行われていない可能性があります。
これは質問またはコメントですか? Stack Overflowは質疑応答サービスなので、これを質問に置き換えるべきです。 また、イベントタイム、透かし、およびウィンドウの概念の説明、および許可された遅延は、*正しくはありません*。 –
これは疑問ではありません。スタックを使って記録しています。あなたが窓、遅れ、maxoutoforderをテストしていないなら、どうすれば正しいのか教えてくれますか?私はあなたにテストデータ、テストデータサーバ、テストコードを与えることができます。どちらが正しいかわからないでください。あなたが主張しているなら、潜在時間は透かし時間かサーバー時間か教えてください。最大時間は水の時間かサーバーの時間かを教えてください。 – Chen
私はFlinkフォーラムにログインできないので、私は質問することができません。私はFlinkについての質問をすると、それほど多くの人がそれに答えることができないか、そう多くの人が興味を持っていないようです。だから私は自分の経験を記録したい。私は自分のクラスターの生産環境で教えてくれます。私はローカルサーバーにデータを集約し、データをクラスターに集約することができます。それはできますか? – Chen