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

flink生成水位线记录方式--周期性水位线生成器

背景

在flink基于事件的时间处理中,水位线记录的生成是一个很重要的环节,本文就来记录下几种水位线记录的生成方式的其中一种:周期性水位线生成器

周期性水位线生成器

1.1 BoundedOutOfOrdernessTimeStampExtractor 他会接收一个表示最大延迟的参数,比如1分钟,意味着如果到达的元素的事件时间和之前到达的元素的最大时间戳小于1分钟,那么还可以对这个元素进行正常的处理,例如归入正常的窗口中等待处理等,如果超过1分钟,那么这个元素本应参与的计算已经完成并发出结果,这个元素现在就是属于迟到元素。这个生成器的代码和下面代码类似:

public class SelfAssigner extends AssignerWithPeriodicWaterMark{
public static long delay = 60000; //1分钟
public long maxTs=0;//已经到达的元素的最大时间戳public long extractTimeStamp(Event event){
maxTs = Max(maxTs, event.getTimeStamp);
return event.getTimeStamp();
}public long getCurrentWaterMark(){return maxTs - delay;//具有1分钟容忍度的水位线
}
}

1.2 直接使用assignAsendingTimeStamp分配器生成水位线,它适用于输入的事件的时间戳是单调递增的,他会使用当前的事件的时间戳生成水位线记录

注意事项

你是否有个疑问,如果我一个自定义的水位线生成器发出一个比之前曾经发出的水位线记录的时间戳更小的水位线会有什么影响?答案是 flink会忽略掉,这就没有你想继续往下问的水位线回退所引发的一系列问题了

http://www.lryc.cn/news/180298.html

相关文章:

  • 百度资源搜索平台出现:You do not have the proper credential to access this page.怎么办?
  • 树莓派CM4开启I2C与UART串口登录同时serial0映射到ttyS0 开启多串口
  • 【租车骑绿道】python实现-附ChatGPT解析
  • 【ONE·Linux || 多线程(一)】
  • 华为智能企业上网行为管理安全解决方案(1)
  • Acwing 240. 食物链
  • c++ 容器适配器
  • 正则表达式的应用领域及基本语法解析
  • CIP或者EtherNET/IP中的PATH是什么含义?
  • 使用lombok进行bulider之后调取HashMap的自定义方法进行对象操作报空指针异常(pojo也适用)
  • 矩阵-day14
  • 上古神器:十六位应用程序 Debug 的基本使用
  • [学习笔记]ARXML - Data Format
  • Go_原子操作和锁
  • 初识Java 12-1 流
  • 【软件工程_UML—StartUML作图工具】startUML怎么画interface接口
  • 单片机之瑞萨RL78定时计数器
  • 手机号码格式校验:@Phone(自定义参数校验注解)
  • ORACLE Redo Log Buffer 重做日志缓冲区机制的设计
  • PWN Test_your_nc Write UP
  • Centos7配置firewalld防火墙规则
  • 【新版】系统架构设计师 - 未来信息综合技术
  • CAD二次开发LineSegment2d
  • Linux shell编程学习笔记5:变量命名规则、变量类型、使用变量时要注意的事项
  • 如何把word的页眉页脚改为图片
  • spring6-实现简易版IOC容器
  • Feign接口调用GET请求@RequestParam传参丢失
  • LeetCode每日一题 | 309.买卖股票的最佳时机含冷冻期
  • HTML的学习 Day02(列表、表格、表单)
  • Android shape记录