窗口函数的分类
①增量聚合函数
→窗口中的元素从第二个开始,每进入一个元素,就会执行一次;然后将迄今为止执行的结果与新的元素进行比较,获得最新的值。以此类推,直到窗口关闭,触发sink操作。
→适用场景:窗口中的元素体量大,否则,容易导致OOM的发生。
→特点:不需要记录窗口中所有的元素,只需要保留迄今为止增量计算的结果即可。
②全窗口函数
→ 待到窗口关闭后,窗口中所有的元素然后一起进行计算,触发sinK操作。
→ 适用场景:窗口中的元素体量小,编程简洁。
→ 特点:需要通过StateBackend记录窗口中所有的元素,待到窗口关闭,一起进行计算。