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,性能会受到极大的影响.

相关推荐
AI_Auto1 小时前
【人工智能】- OpenClaw本地化安装
大数据·人工智能·机器学习·数据挖掘
我爱学习好爱好爱1 小时前
Logstash 数据管道测试案例:从 Filebeat 接收日志并输出至黑屏幕与 Elasticsearch(基于Rocky Linux 9.6)
大数据·linux·elasticsearch
互联网江湖2 小时前
鹿客科技IPO,陈彬不想“站在门外”
大数据·人工智能·物联网
AI-小柒3 小时前
开发者一站式数据解决方案:通过 DataEyes API 一键配置智能数据采集与分析工具
大数据·人工智能·windows·http·macos
cxr8283 小时前
BMAD-METHOD 54个高级引导方法深度研究简报
大数据·人工智能
Crazy CodeCrafter4 小时前
租金要交,但客流为零,要关店了?
大数据·运维·经验分享·自动化·开源软件
最初的↘那颗心4 小时前
Spark Job 调度机制拆解:从 Action 算子到 Task 执行
大数据·spark·分布式计算
wuyaolong0075 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
balmtv5 小时前
Claude技术架构深度拆解:从宪法AI到混合推理智能体的演进之路
大数据·人工智能·架构
Lab_AI6 小时前
电子实验记录本(ELN)助力熙华药业核心竞争力提升
大数据·人工智能·实验室管理·eln·药物研发·ai制药·电子实验记录本