この例を見てください:
// We create sessions for each id with max timeout of 3 time units
DataStream<Tuple3<String, Long, Integer>> aggregated = source
.keyBy(0)
.window(GlobalWindows.create())
.trigger(new SessionTrigger(3L))
.sum(2);
GlobalWindow
この例で(内で作成された)の 1 つのインスタンスを使用している理由を誰か説明してもらえますGlobalWindows#assignWindows
か?
着信イベントIDは独自のウィンドウ、つまりイベント、イベントなどWindow(a)
を作成する必要があるようです。私が理解しているように、Flinkは対応するイベントを関連付けるためにWindowのインスタンスを使用しているためです。たとえば、すべてのイベントを関連付ける必要があります。この場合、に関連付けられたすべてのイベントのみがウィンドウ関数に渡され、まとめて処理されます (この例では、、 などによってグループ化されたイベントのカウントが計算されます) 。a
Window(b)
b
a
Window(a)
a
Window(a)
a
b
GlobalWindow