FlinkSQL
窗口:
TUMBLE(TABLE data, DESCRIPTOR(timecol), size)
HOP(TABLE data, DESCRIPTOR(timecol), slide, size [, offset ])
SESSION(<time-attr>, <gap-interval>)
<gap-interval>: INTERVAL 'string' timeUnit
累积窗口函数:CUMULATE(TABLE data, DESCRIPTOR(timecol), step, size)
窗口分组聚合GROUPING SETS
over函数
CUBE
Flink DataStream
增量聚合和全量聚合
增量聚合: 窗口不维护原始数据,只维护中间结果,每次基于中间结果和增量数据进行聚合。
如: ReduceFunction、AggregateFunction
全量聚合: 窗口需要维护全部原始数据,窗口触发进行全量聚合。如:ProcessWindowFunction