- Flink支持兩種劃分窗口的方式,按照time和count。
如果根據(jù)時(shí)間劃分窗口,那么它就是一個(gè)time-window如果根據(jù)數(shù)據(jù)劃分窗口,那么它就是一個(gè)count-window。
- flink支持窗口的兩個(gè)重要屬性(size和interval) 如果size=interval,那么就會(huì)形成tumbling-window(無(wú)重疊數(shù)據(jù))如果size>interval,那么就會(huì)形成sliding-window(有重疊數(shù)據(jù))如果size< interval, 那么這種窗口將會(huì)丟失數(shù)據(jù)。
比如每5秒鐘,統(tǒng)計(jì)過(guò)去3秒的通過(guò)路口汽車(chē)的數(shù)據(jù),將會(huì)漏掉2秒鐘的數(shù)據(jù)。
通過(guò)組合可以得出四種基本窗口:
- time-tumbling-window 無(wú)重疊數(shù)據(jù)的時(shí)間窗口,設(shè)置方式舉例:timeWindow(Time.seconds(5))
- time-sliding-window 有重疊數(shù)據(jù)的時(shí)間窗口,
設(shè)置方式舉例:timeWindow(Time.seconds(5), Time.seconds(3))
- count-tumbling-window無(wú)重疊數(shù)據(jù)的數(shù)量窗口
設(shè)置方式舉例:countWindow(5)
- count-sliding-window 有重疊數(shù)據(jù)的數(shù)量窗口
設(shè)置方式舉例:countWindow(5,3)