flink的计时器

背景

在flink中,我们经常使用ontimer计时器实现很多逻辑的功能,常见的比如某个传感器温度增加连续超过1分钟的告警输出等,本文就来简单记录下计时器的作用

计时器

ontimer的定义

java 复制代码
public void onTimer(long timestamp, OnTimerContext ctx, Collector<O> out)

timestamp: 触发定时器的事件/处理时间戳,这个时间是register定时器时指定的那个时间

ctx: 上下文对象,通过它可以访问水位线时间戳,处理时间时间戳,当前键值等

out:主输出,注意,ontimer定时器中也可以输出记录

基本上在定时器中我们能实现的逻辑和在process主逻辑中的一样

计时器局限性

我们只能在KeyedStream上,也就是键值分区数据流上注册计时器,如果你想要在DataStream上面使用,你需要首先把DataStream转换成KeyedStream,而转换的方式可以通过实现一个返回常数值的KeySelector来创建KeyedStream,但是一旦这样做,下游的算子的并行度相当于实际变成了1,性能会受到极大的影响.

相关推荐
云边云科技_云网融合1 分钟前
金融医疗混合云组网如何满足数据安全与合规要求?
大数据·人工智能·物联网
hzcj8889 分钟前
汇正财经:出海数据向好,创新药热度高
大数据·人工智能
Bzc11456231 小时前
中医辨证调护:慢病视角下的血糖健康养护思路
大数据·人工智能·生活
Fluxart.ai1 小时前
2026电商AI出图质量验收标准与质检SOP完整教程
大数据·人工智能
泛普软件1 小时前
工程施工项目管理办公系统能解决哪些现场管理难题与超支问题
大数据·人工智能·软件需求
用户3610588626121 小时前
Spark 核心之广播变量、累加器原理深度剖析
大数据·spark
A15362552 小时前
WMS 仓储系统的软件有哪些?2026 主流产品分类与选型参考
大数据·人工智能
hopsky2 小时前
《HBase 权威指南》 Lars George
大数据·数据库·hbase
Elastic 中国社区官方博客2 小时前
Elasticsearch:列式索引模式 - Columnar index mode
大数据·数据库·elasticsearch·搜索引擎·全文检索
渣渣盟2 小时前
当 Redis 写入不再是瓶颈后,Flink 任务的反压可能来自哪里?如何系统性地定位和解决 Flink 反压问题?
数据库·redis·flink