我有像
这样的数据流 Eventname, Event id, Start_time ( Time Stamp)
..
这里我想在最后一个字段Start_time
上应用窗口转换,这是时间戳,我的要求是我想要获取最近30分钟的数据。
所以我在flink窗口中看到的是这个.timeWindow(Time.minutes(30))
,所以我想这需要最近30分钟的事件,但不尊重start_time
我想获取start_time最后30分钟的数据,然后我如何编写转换?我需要使用该列使用filter
吗?
我是陌生人。
由于
答案 0 :(得分:1)
您需要做两件事:
setStreamTimeCharacteristic(TimeCharacteristic.EventTime)
上的StreamExecutionEnvironment
启用事件时处理。AssignerWithPeriodicWatermarks
或AssignerWithPunctuatedWatermarks
来完成。在事件时间模式下,Flink将根据您分配给记录的时间戳构建窗口。水印告诉Flink“数据的逻辑时间”。水印为1000表示不再需要时间戳小于1000的记录。
事件时间处理的整个主题过于复杂,无法在此讨论。我建议看一下Apache Flink documentation。