当前位置: 首页 > 知识库问答 >
问题:

Apache flink-时间特性

颛孙航
2023-03-14

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

有助于清晰理解的少量代码摘录:

环境的时间特征:

env.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime);

窗口时间:

keyedEvents.timeWindow(Time.minutes(5))

源中的集合:

ctx.collect(monSourceData);

如果数据采集在11:03开始,我想在11:08结束,即5分钟。但它会在11点05分停止(某种程度上表现为处理时间)。

提前感谢您的帮助。

共有1个答案

高山
2023-03-14

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

但是,翻转窗口会采用可选的偏移参数,该参数可用于移动此对齐方式。因此,您可以指定TumblingEventTimeWindows。共(时间。分(5),时间。分钟(3)),例如,将间隔移动3分钟。

 类似资料:
  • 在中,元素被分配给一个或多个实例。在滑动事件时间窗口的情况下,这发生在1中。 如果窗口的和,则将时间戳为0的元素分配到以下窗口: 窗口(开始=0,结束=5) 窗口(开始=-1,结束=4) 窗口(开始=-2,结束=3) 窗口(开始=-3,结束=2) 窗口(开始=-4,结束=1) 在一幅图片中: 有没有办法告诉Flink时间有开始,而在那之前,没有窗户?如果没有,从哪里开始寻求改变?在上述情况下,Fl

  • 安装(下载 这是Flink的默认配置。 关于这里发生了什么事,有什么建议吗?

  • 我的工作是做以下事情: 根据事件时间使用Kafka主题中的事件 计算7天的窗口大小,以1天的幻灯片显示 将结果放入Redis 我有几个问题: 如果它从最近的记录中消耗Kafka事件,在作业存活1天后,作业关闭窗口并计算7天窗口。问题是作业只有1天的数据,因此结果是错误的。 如果我尝试让它从7天前的时间戳中消耗Kafka事件,当作业开始时,它从第一天开始计算整个窗口,并且花费了很多时间。另外,我只想

  • 如果水印在指定的时间间隔内没有被更改(没有事件到达),运行时将不会发出任何水印?另一方面,如果在下一个间隔之前到达了新事件,则将立即发出新的水印,或者将其排队/等待,直到到达下一个setAutoWatermarkInterval间隔。 我很好奇AutoWatermarkInterval的最佳配置是什么(特别是对于高速率源):这个值越小,处理时间和事件时间之间的延迟就越小,但发送水印的带宽开销越大。

  • 我已经创建了一个实时时钟,它与计算机时间同步,并显示在标签中。 记入NeverHopeless给出的起始代码。多谢了。

  • 问题内容: 我正在使用JavaScript类,并尝试使用方法获取当前日期。但显然是加载系统日期和时间。我正在从印度运行代码,但我想使用相同的方法来获取英国的日期和时间。我怎样才能做到这一点? 问题答案: 如果您知道UTC偏移量,则可以使用以下函数传递它并获取时间: