Flink DataStream API 之 windows类型介绍

Window的类型

窗口通常被区分为不同的类型:

•tumbling windows:滚动窗口 【没有重叠】

•sliding windows:滑动窗口 【有重叠】

tumbling windows:滚动窗口 【没有重叠】

Flink DataStream API 之 windows类型介绍_第1张图片

 

使用demo

DataStream input = ...;

// tumbling event-time windows
input
    .keyBy()
    .window(TumblingEventTimeWindows.of(Time.seconds(5)))
    .();

// tumbling processing-time windows
input
    .keyBy()
    .window(TumblingProcessingTimeWindows.of(Time.seconds(5)))
    .();

// daily tumbling event-time windows offset by -8 hours.
input
    .keyBy()
    .window(TumblingEventTimeWindows.of(Time.days(1), Time.hours(-8)))
    .();

sliding windows:滑动窗口 【有重叠】

Flink DataStream API 之 windows类型介绍_第2张图片

使用demo

DataStream input = ...;

// sliding event-time windows
input
    .keyBy()
    .window(SlidingEventTimeWindows.of(Time.seconds(10), Time.seconds(5)))
    .();

// sliding processing-time windows
input
    .keyBy()
    .window(SlidingProcessingTimeWindows.of(Time.seconds(10), Time.seconds(5)))
    .();

// sliding processing-time windows offset by -8 hours
input
    .keyBy()
    .window(SlidingProcessingTimeWindows.of(Time.hours(12), Time.hours(1), Time.hours(-8)))
    .();

TimeWindow的应用

Flink DataStream API 之 windows类型介绍_第3张图片

CountWindow的应用

Flink DataStream API 之 windows类型介绍_第4张图片

自定义Window

Flink DataStream API 之 windows类型介绍_第5张图片

 

你可能感兴趣的:(Flink)