Flink Timer定时器机制与具体实现

Timer简介

Timer定时器是Flink Streaming API提供的用于感知并利用处理时间/事件事件变化的机制
最显示了timer的方式就是KeyedProcessFunction.在其processElement()方法中注册Timer,然后覆盖其onTimer方法作为Timer触发时间的回调逻辑,根据时间特征的不同:

  1. 处理时间–调用context.timerService().registerProcessingTime()注册;onTimer()在系统时间戳到达timer设定的时间戳时候触发
  2. 事件时间–调用Context.timerService().registerEventTimer()注册,onTimer()在Flink内部水印到达或超过Timer设定的时间戳触发

Timer使用举例

1.按天实时统计指标并存储在状态中,每天0点清除状态重新统计,就可以在processElement()方法里注册Timer

//按天实时统计指标并存储在状态中,每天0点清除状态重新统计,就可以在processElement()方法里注册Timer
ctx.timerService().registerProcessingTimeTimer(
  tomorrowZeroTimeStampMs(System.currentTimeMillis(<
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值