本文共 766 字,大约阅读时间需要 2 分钟。
在上一篇博客当中,我们对Window的整体分类即使用进行了介绍,今天我们将从另外一个角度对Window进行分类,这个角度就是聚合角度。
Window的聚合操作分为2种:一种是增量聚合,另外一种是全量聚合,增量聚合是指窗口内每进入一条数据就计算一次,而全量聚合是指在窗口
被触发的时候才会对窗口内的所有数据进行一次计算。
(1)增量聚合
常见的增量聚合函数有:reduce(reduceFunction)、aggregate(aggregateFunction)、sum()、min()、max()。增量聚合我们可以用下面一张图来表示:
大家从图上面也许就已经明白增量聚合的含义了:来一条数据、计算一次。
接下来我们通过一个例子演示一下效果:
示例程序:增量聚合
package Stream_example.window;
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.common.functions.ReduceFunction; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.str转载地址:http://pfgzb.baihongyu.com/