开发者社区> 问答> 正文

Apache flink - 时间特征

如何在Apache flink中使用摄取时间特征。我知道我们需要设置环境时间特征。但是我怎样才能收集带有时间戳的数据,这些时间戳可以称为摄取时间。目前,当我使用它时,它正在根据系统时钟时间处理窗口。我想根据数据进入flink环境的时间进行处理。

一个小代码提取可能有助于清楚地理解它:

环境的时间特征:

env.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime);
窗口时间:

keyedEvents.timeWindow(Time.minutes(5))
来源收藏:

ctx.collect(monSourceData);
如果数据收集从让我们说11:03开始,我想在11:08结束它,即5分钟。但它在11:05停止(不知何故表现得像处理时间)。

在此先感谢您的帮助。

apache-flink 流处理

展开
收起
社区小助手 2018-12-11 16:05:15 1850 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    Flink中的翻滚和滑动窗口始终与时钟对齐(事件和水印或系统时钟定义的事件时钟); 时间窗口未与第一个事件对齐。因此,如果您有5分钟长的窗口,则会有一个窗口显示从11:00到11:05的间隔,例如,无论TimeCharacteristic如何。

    然而,翻滚窗口采用可选的偏移参数,可用于移动此对齐。因此,您可以指定TumblingEventTimeWindows.of(Time.minutes(5), Time.minutes(3)),例如将间隔移动3分钟。

    2019-07-17 23:19:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像