flink---window机制
2019-01-23 本文已影响0人
打怪兽的黄小妹
1.简介
流式处理中,数据连续不断的产生,flink使用窗口机制将无限的数据有限化,比如每5s计算一次数据中最大值、或者每5分钟获取过去1小时的热门商品。
2.窗口详解
![](https://img.haomeiwen.com/i15903269/b2f1596b5966b014.png)
窗口既可以是时间驱动窗口(如每5s计算一次最大值),也可以是是数据驱动(如每100个数据中的最大值)。下面对每种窗口进行举例。
2.1 滚动时间窗口(无重叠)
![](https://img.haomeiwen.com/i15903269/1e4287153f16e470.png)
2.2 滑动时间窗口
![](https://img.haomeiwen.com/i15903269/c9a99846f7962438.png)
window size为5s,slide size为1s。
2.3 滚动计数窗口
![](https://img.haomeiwen.com/i15903269/412e3d3626d65482.png)
2.4 滑动计数窗口
![](https://img.haomeiwen.com/i15903269/68d4104df2324ced.png)
2.5 会话窗口
![](https://img.haomeiwen.com/i15903269/58e204299385802a.png)
2.6 ***自动义窗口***
flink的窗口机制非常灵活,可以根据需要自定义窗口,下节详述
3. Window API
![](https://img.haomeiwen.com/i15903269/5de9dbd9697f9bb2.png)
根据以上api,可以自定义窗口如下:
![](https://img.haomeiwen.com/i15903269/573b411b497a61ec.png)
4.参考文章(非常优秀!!!)
http://wuchong.me/blog/2016/05/25/flink-internals-window-mechanism/