如何在Apache flink中使用摄取时间特征。我知道我们需要设置环境时间特征。但是我怎样才能收集带有时间戳的数据,这些时间戳可以称为摄取时间。目前,当我使用它时,它正在根据系统时钟时间处理窗口。我想根据数据进入flink环境的时间进行处理。
一个小代码提取可能有助于清楚地理解它:
环境的时间特征:
env.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime);
窗口时间:
keyedEvents.timeWindow(Time.minutes(5))
来源收藏:
ctx.collect(monSourceData);
如果数据收集从让我们说11:03开始,我想在11:08结束它,即5分钟。但它在11:05停止(不知何故表现得像处理时间)。
在此先感谢您的帮助。
apache-flink 流处理
Flink中的翻滚和滑动窗口始终与时钟对齐(事件和水印或系统时钟定义的事件时钟); 时间窗口未与第一个事件对齐。因此,如果您有5分钟长的窗口,则会有一个窗口显示从11:00到11:05的间隔,例如,无论TimeCharacteristic如何。
然而,翻滚窗口采用可选的偏移参数,可用于移动此对齐。因此,您可以指定TumblingEventTimeWindows.of(Time.minutes(5), Time.minutes(3)),例如将间隔移动3分钟。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。