(六)窗口计算

窗口(Window)是处理无界流的关键所在。窗口可以将数据流装入大小有限的“桶”中,再对每个“桶”加以处理。

目录

时间概念

窗口类型

窗口划分

窗口的生命周期

Window Assigners

窗口函数

Triggers 窗口触发器

Evictor 数据剔除器

Allowed Lateness

旁路输出


时间概念

在有状态流处理中,时间在计算中起着重要的作用。当进行时序分析、基于特定时间段(通常指窗口)进行聚合时,都会引入时间概念:

  • 处理时间(Processing time):

处理时间是指执行相应操作的机器的系统时间。每小时处理时间窗口将包括在系统时钟指示整小时之间到达的所有记录。例如,如果应用程序在上午 9:15 开始运行,则第一个小时处理时间窗口将包括上午 9:15 到上午 10:00 之间处理的事件,下一个窗口将包括早上 10:00 到上午 11:00 之间处理的事情,依此类推。 处理时间是最简单的时间概念,不需要流和机器之间的协调。它提供了最好的性能和最低的延迟。然而,在分布式和异步环境中,处理时间并不能提供确定性,因为它容易受到记录到达系统的速度、记录在系统内之间流动的速度等因素影响。

  • 事件时间(Event Time):

事件时间是每个单独事件在其产生设备上发生的时间。这个时间通常在记录进入 Flink 之前嵌入到记录中,并且可以从每个记录中提取该事件时间戳。在事件时间中,时间的进度取决于数据。事件时间程序必须指定 Watermark,这是通知事件时间进度的机制。这种 Watermark 机制将在下一节实验中进行描述。

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值