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

apache flink窗口顺序

阳博赡
2023-03-14

共有1个答案

苏君昊
2023-03-14

Apache Flink支持基于事件时间戳的流窗口。在Flink中,这个概念被称为事件时间(event-time)。

为了支持事件时间,您必须从每个事件中提取一个时间戳(长值)。此外,您还需要支持所谓的水印,这些水印是处理具有无序时间戳的事件所需要的。

给定一个具有提取时间戳的流,您可以定义一个窗口求和,如下所示:

val stream: DataStream[(String, Int)] = ...
val windowCnt = stream
  .keyBy(0) // partition stream on first field (String)
  .timeWindow(Time.minutes(1)) // window in extracted timestamp by 1 minute
  .sum(1) // sum the second field (Int)
 类似资料:
  • 我有以下代码来计算socketTextStream中的单词。累积字数和时间窗字数都是必需的。该程序存在累积计数始终与窗口计数相同的问题。为什么会出现这个问题?根据加窗计数计算累积计数的正确方法是什么?

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

  • 如何在ApacheFlink中为会话窗口分配id? 最后,我希望在会话窗口打开时,使用会话窗口id逐个充实事件(我不希望等到窗口关闭后再发出充实事件)。 我尝试使用AggregateFunction来实现这一点,但是我认为merge()并没有像我所期望的那样工作。它似乎是用于合并窗口而不是窗格(触发触发)。在我的管道中似乎从未调用过它。因此,触发器之间似乎没有共享状态! 会话窗口ID将是落入窗口的

  • 我尝试将以下PostgreSQL查询表述为Jooq: 因此,我想用一个使用窗口函数的嵌套查询编写一个查询,并首先从内部查询开始。我走了那么远: 在orderBy命令之后,我在Jooq中不再使用DESC选项。只有像或这样的命令,还有像这样的继承命令,它返回一个SortField-object,我不能再调用所需的后续命令。

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

  • 窗口的创建与控制 进程:主进程​ 1 //在主进程中. 2 const {BrowserWindow} = require('electron') 3 ​ 4 //或者从渲染器进程中使用 `remote`. 5 // const {BrowserWindow} = require('electron').remote 6 ​ 7 let win = new BrowserWindow({width