窗口分配器:WindowAssigner,将数据流中的元素分配到对应的窗口。
窗口处理函数:WindowFunction,对窗口内的函数进行处理。
增量聚合函数:ReduceFunction,AggregateFunction,FoldFunction
ReduceFunction:对输入的两个相同类型的数据元素按照指定的计算方法进行聚合逻辑,最终输出类型相同的结果元素。
AggregateFunction:基于中间状态结果的增量计算函数,更灵活更复杂度。复杂的设计主要是为了解决输入类型、中间状态和输出类型不一致的问题。
FoldFunction:定义了如何将窗口中的输入元素与外部元素合并的计算逻辑。
全量窗口函数:ProcessWindowFunction
ProcessWindowFunction:基于窗口全部数据元素的进行计算。