apache flink-时间特性

ctzwtxfj  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(382)

如何使用apache flink中的摄取时间特性。我知道我们需要设置环境时间特性。但是我如何收集带有时间戳的数据,时间戳可以称为摄取时间。目前,当我使用它时,它正在处理基于系统时钟时间的窗口。我想根据数据进入flink环境的时间进行处理。
一点代码摘录可能有助于清楚地理解它:
环境时间特征:

env.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime);

窗口时间:

keyedEvents.timeWindow(Time.minutes(5))

源中的集合:

ctx.collect(monSourceData);

如果数据采集在11:03开始,我想在11:08结束,即5分钟。但它在11:05停止(以某种方式表现为处理时间)。
事先谢谢你的帮助。

a8jjtwal

a8jjtwal1#

flink中的滚动窗口和滑动窗口始终与时钟对齐(由事件和水印定义的事件时间时钟或系统时钟);时间窗口未与第一个事件对齐。因此,如果窗口长度为5分钟,那么无论时间特性如何,都会有一个从11:00到11:05的窗口。
不过,翻滚窗口会采用可选的偏移参数,该参数可用于移动此对齐方式。所以你可以指定 TumblingEventTimeWindows.of(Time.minutes(5), Time.minutes(3)) ,例如,将间隔移动3分钟。

相关问题