如何宣告1分钟翻滚window?
How to declare 1 minute tumbling window?
我有带有自己时间戳的事件流。我需要将此流分成 1 分钟而不重叠 windows 并执行一些计算。我是 Flink 的新手,但发现这样的事情会奏效:
dataStream.keyBy(0).window(TumblingEventTimeWindows.of(Time.seconds(60)))
我不确定如何实现 window 从一分钟开始而不是在执行时开始。
也许还有比 Flink 更好的选择?
翻滚时间windows可以定义如下:
val execEnv = StreamExecutionEnvironment.getExecutionEnvironment
execEnv.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)
val stream: DataStream[(String, Int)] = ???
val result = stream
.keyBy(0)
// define tumbling window of 1 min length
.timeWindow(Time.minutes(1))
// apply sum aggregation on window
.sum(1)
Flink 将时间 windows 对齐到 window 长度的倍数,从纪元时间 (1070-01-01 00:00:00
) 开始。因此 1 分钟的时间 windows 将始终与一分钟的开始对齐。
我有带有自己时间戳的事件流。我需要将此流分成 1 分钟而不重叠 windows 并执行一些计算。我是 Flink 的新手,但发现这样的事情会奏效:
dataStream.keyBy(0).window(TumblingEventTimeWindows.of(Time.seconds(60)))
我不确定如何实现 window 从一分钟开始而不是在执行时开始。
也许还有比 Flink 更好的选择?
翻滚时间windows可以定义如下:
val execEnv = StreamExecutionEnvironment.getExecutionEnvironment
execEnv.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)
val stream: DataStream[(String, Int)] = ???
val result = stream
.keyBy(0)
// define tumbling window of 1 min length
.timeWindow(Time.minutes(1))
// apply sum aggregation on window
.sum(1)
Flink 将时间 windows 对齐到 window 长度的倍数,从纪元时间 (1070-01-01 00:00:00
) 开始。因此 1 分钟的时间 windows 将始终与一分钟的开始对齐。