AggregateFunction 中合并方法的含义

Implications of merge method in AggregateFunction

我正在尝试理解 here 中描述的 Flink 中的 AggregateFunction。一共有四个方法,

  1. 创建累加器
  2. 添加
  3. 获取结果
  4. 合并

据我了解,

createAccumulator方法在第一个元素进入一个新的window时被调用,新创建的实例将被进一步使用

add 方法被调用以根据定义减少结果,这使用在 createAccumulator 方法

中创建的实例

getResult 方法在 window 关闭并且 returns 可用结果

时被调用

我对以上方法的理解是否正确?最后,merge 方法的用例是什么,什么时候是 used/invoked?可用的定义 here 我不清楚。

合并两个windows时调用merge方法。这适用于会话 windows,每当两个会话因弥合会话之间差距的事件的到来而合并为一个时,会话就会合并。发生这种情况时,两个会话的汇总结果通过调用 merge.

合并