Flink之window窗口

本文介绍了Flink中的四种窗口类型:滚动窗口、滑动窗口、会话窗口和全局窗口。滚动窗口是首位相连、不重叠的数据段,如每隔1分钟计算一次;滑动窗口则允许数据重复,如每分钟统计最近1小时的数据;会话窗口基于事件时间,当数据间隔超过设定阈值时关闭;全局窗口包含所有数据,需要额外设置触发计算条件。
摘要由CSDN通过智能技术生成

           我们都知道,Flink它是一个流式计算引擎,数据来一条它计算一次,而窗口函数,就可以理解成它把流处理转化成了批处理,把数据切分成一段一段的计算。

窗口分为两类;基于时间的窗口就是time-window,基于数量的窗口就是count-window,在往下分的话,就能分为四种窗口,分别是滚动窗口,滑动窗口,会话窗口和全局窗口。

滚动窗口;

窗口大小固定,数据不会重复(窗口不会出现重叠的现象),因为滚动窗口之间是首位相连的,

 每隔1分钟计算一次;

SingleOutputStreamOperator<String> process = dataStream.keyBy(new KeySelector<Tuple2<String, Integer>, String>() {
            @Override
            public String getKey(Tuple2<String, Integer> value) throws Exception {
                return value.f0.split(",")[0];
            }
        }).window(TumblingEventTimeWindows.of(Time.minutes(1))).process(...)

滑动窗口;

    窗口大小固定,但不是首位相连,同一条数据可能会在不同的窗口中做计算。

 每一分钟统计最近一个小时计算一次

  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值