当前位置: 首页 > news >正文

Flink / Scala 实战 - 19.ProcessFunction 删除 key 的上一个定时器 TimeTimer

一.引言

ProcessFunction 原始执行状态为每个 key 注册一个较长时间 TimeTimer 并在这期间将所有对应 key 的数据都收集起来,到期完成触发。现在接到新的需求,要求判断数据类型,当特殊标识的数据到达后,需要将 TimeTimer 到期的时间提前。因此需要删掉当前 key 之前注册的老的 TimeTimer,下面铺下自己踩坑的完整过程。

二.情景复现

1.数据源

为了测试数据,我们自定义数据流,其中 SourceInfo 为 CaseClass,包含了 key、sendTime 与 isRealTime 三个字段,前两个常规字段,ProcessFunction 会根据先到的 SourceInfo 获取其 SendTime 并注册 TimeTimer,isRealTime 为新增需求字段,该字段默认 False,为 True 时代表提前 TimeTimer 的触发时间。

  case class SourceInfo(key: String, sendTime: Long, isRealTime: Boolean = false) {override def toString: String = {s"key: $key isRealTime: $isRealTime sendTime: $sendTime"}}

相关文章:

Flink / Scala 实战 - 19.ProcessFunction 删除 key 的上一个定时器 TimeTimer

一.引言 ProcessFunction 原始执行状态为每个 key 注册一个较长时间 TimeTimer 并在这期间将所有对应 key 的数据都收集起来,到期完成触发。现在接到新的需求,要求判断数据类型,当特殊标识的数据到达后,需要将 TimeTimer 到期的时间提前。因此需要删掉当前 key 之前注册的老…...

MSTP基础

MSTP基础引入背景技术概览PVSTP(过渡)MSTP单生成树的缺陷1:部分VLAN不通单生成树的缺陷2:无法实现流量的负载分担多生成树解决单生成树实例引入背景 RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但由于局域网…...

当ChatGPT遇见stable-diffusion,你不敢相信的创意艺术之旅!

前言 欢迎来到一场创意的旅程,这里将聚焦于 ChatGPT 和 stable-diffusion 这两个令人激动的技术。在这篇文章中,我们将会探索这两种技术如何结合使用,为艺术创作带来全新的可能性。我们将探讨如何利用 ChatGPT 生成富有想象力的创意&#xf…...

一文搞定!postman接口自动化测试【附项目实战详解】

目录:导读 | 接口结果判断 功能区 脚本相关 代码模板 | 集合(批量)测试 变化的参数数据 定期任务 接口执行顺序 数据传递 | 解决依赖问题 假设场景 Postman 中的操作 运行 写在最后 附带项目实战教程地址:postman接口自动化测试使用教程项…...

ctfshow【菜狗杯】wp

文章目录webweb签到web2 c0me_t0_s1gn我的眼里只有$抽老婆一言既出驷马难追TapTapTapWebshell化零为整无一幸免无一幸免_FIXED传说之下&#xff08;雾&#xff09;算力超群算力升级easyPytHon_P遍地飘零茶歇区小舔田&#xff1f;LSB探姬Is_Not_Obfuscateweb web签到 <?ph…...

旋转数组的几种做法

千淘万浪虽辛苦&#xff0c;吹尽黄沙始到金。 ——刘禹锡 第一种方法&#xff1a;遍历整个数组 题目描述&#xff1a; 一个数组A中存有N (N>0) 个整数&#xff0c;允许使用另外数组&#xff0c;将每个整数循环向右移动M(M>0)个位置。如果需要…...

创建虚拟机、添加镜像以及配置虚拟机

一、创建虚拟机 1、点击 “创建新的虚拟机” 2.选择“自定义配置” 到后面可以选择硬件的类型 3.默认值就行 4.选择 “稍后安装操作系统” 5.操作系统选择 “Linux”&#xff0c;版本结合镜像自行选择 6. 虚拟机的名称自行定义&#xff0c; 就是上述显示出来的名称。 虚拟机…...

Godot Engine 4.0横空出世,Vulkan大怪兽加持,画质提升简直亮瞎眼

【CSDN 编者按】经历了漫长的等待&#xff0c;万众瞩目的 Godot Engine 4.0 正式版在其 3.0 版本发布 5 年以后&#xff0c;终于带着海量令人兴奋的新功能横空出世&#xff01; 整理 | 开发游戏的老王 责编 | 王子彧 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09…...

CorelDRAWX4的VBA插件开发(四十五)建立类(2)汇总相似功能简化重复代码:一键建立设计外框加出血线和等分折页线

在上一节中已经建立好了类,那么这一节我们来调用它,先建立一个面板 然后修改框体名称 然后从左侧新建一些按钮并且以拼音为结尾进行命名 Private Sub CheckBox2_zheYe_Click() 鼠标按下几折页单选时触发If Me.CheckBox2_zheYe ThenMe.TextBox3_zheYeShu.Enabled True 让右…...

我的十年编程路 2017年篇

2016和2017&#xff0c;这两年是我飞速发展的两年。一方面是技术、工作能力&#xff0c;另一方面是对人生的思考。 随着技术能力的不断提升&#xff0c;博客也随之更新。在2017年伊始&#xff0c;我收到了CSDN学院的讲师邀请函。没错&#xff0c;那个时候我就有机会做视频课了…...

hadoop有多个输入路径怎么处理

在Hadoop中&#xff0c;可以使用FileInputFormat的addInputPath方法来添加多个输入路径。以下是实现步骤&#xff1a;创建一个Job对象&#xff0c;并设置相关的参数和配置信息。调用FileInputFormat的addInputPath方法添加输入路径。例如&#xff1a;FileInputFormat.addInputP…...

day6 ServletContext

ServletContext 一个Servlet对象对应一个ServletConfig。100个Servlet对象则对应100个ServletConfig对象。 只要在同一个webapp当中&#xff0c;只要在同一个应用当中&#xff0c;所有的Servlet对象都是共享同一个ServletContext对象的。 ServletContext对象在服务器启动阶段…...

Dockerfile部署SpringBoot项目

Dockerfile部署SpringBoot项目 文章目录 利用Dockerfile部署SpringBoot项目 1、创建一个SpringBooot项目并且打成jar包2、在Linux中创建一个文件夹&#xff0c;来做docker测试3、将jar包上传到Linux中4、编写Dockerfile文件5、制作镜像6、启动容器7、查看容器启动日志8、访问接…...

Java面向对象特征之三:多态

一&#xff1a;面向对象三大特征之三&#xff1a;多态 1.多态是什么&#xff1f; 同类型的对象&#xff0c;执行同一个行为&#xff0c;会表现出不同的行为特征。 比如&#xff1a;猫和狗都是动物类型&#xff0c;执行同一个行为&#xff0c;但是会表现出不同的行为特征&…...

基于ATX自动化测试解决方案

在整车开发中&#xff0c;诊断功能实现后需要进行测试验证。测试验证主要分为两个方面&#xff1a;诊断协议层测试和诊断功能测试。诊断协议层测试&#xff1a;需要对服务层服务定义、传输层相关时间参数进行测试验证&#xff1b;诊断功能测试&#xff1a;需要对各诊断功能项&a…...

Qt学习5-Qt Creator文件操作(哔站视频学习记录)

实现文件编辑器代码 目录 一、代码要点 二、重点函数 1、conncet 2、getOpenFileName 3、getSaveFileName 4、读取文件到textEdit 5、textEdit保存到文件 三、全部代码 mainwindow.h mainwindow.cpp 一、代码要点 MainWindow的菜单栏实现&#xff1b;connect函数连接…...

LeetCode15三数之和 容易理解版本

题目&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三…...

Spring Boot 3.0系列【11】核心特性篇之国际化

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot版本3.0.3 源码地址:https://gitee.com/pearl-organization/study-spring-boot3 文章目录 前言基础知识国际化简介浏览器语言LocaleMessageSourceMessageSourcePropertiesLocaleResolver案例演示案例一:后台消息国…...

每日学术速递3.7

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Dropout Reduces Underfitting 标题&#xff1a;Dropout 减少欠拟合 作者&#xff1a;Zhuang Liu, Zhiqiu Xu, Joseph Jin, Zhiqiang Shen, Trevor Darrel 文章链接&#xff1a;h…...

灯具照明行业MES系统,助力企业实现数字化转型

灯具照明行业在制造领域&#xff0c;是典型的高科技离散生产制造模式&#xff0c;大部分企业都设置&#xff1a;电源组件、光源组件、或光电一体组件 &#xff0c;工艺以SMT、DIP等。 灯罩主要采用吸塑工艺及模具加工&#xff1b;其它金属的面盖、灯体、灯盒基本都是采用压铸、…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面&#xff0c;接口成功记录日志&#xff0c;失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...

JDK 17 序列化是怎么回事

如何序列化&#xff1f;其实很简单&#xff0c;就是根据每个类型&#xff0c;用工厂类调用。逐个完成。 没什么漂亮的代码&#xff0c;只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...