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

flink窗口分组数据错乱

文章目录

      • 问题
      • 目标
      • 解决问题-方案1
          • 使用事件时间
          • 迟到时间
          • 输出幂等
      • 解决问题-方案2

问题

正常的flink 作业运行,带窗口的运行,因为上游业务的影响,导致业务恢复后,积累的kafka 数据瞬时涌到flink 程序里,flink 窗口分钟的,导致这一分钟的值非常大。在折线图上展示出来 ,一眼就会发现问题。

目标

即使发生数据累积,也要按事件发生时间,把数据分到应到的窗口里。

解决问题-方案1

要解决上面这个问题,要从三个方面来处理

使用事件时间

也就是窗口TumblingEventTimeWindows,要用这种才按实际的事件时间去分窗口

迟到时间

其实主要是,allowedLateness(Duration.ofMinutes(1)),对于flink 程序来说,其实积累的元素就相当于迟到的元素,只有这个allowedLateness 时间够长,那迟到的元素就能再次触发窗口的计算

输出幂等

如果之前的窗口已经输出,那如果再输出的话就要下游支持幂等操作

解决问题-方案2

直接通过旁路输出把迟到元素输出,然后可以通过离线操作,或者手工把数据补全。


http://www.mrgr.cn/news/19119.html

相关文章:

  • 笔记整理—uboot番外(2)find_cmd函数
  • Linux系统入门:加密与解密原理、数据安全及系统服务访问控制策略分析
  • @EnableAutoConfiguration注解使用和原理
  • glsl着色器学习(七)
  • malloc/free 和 new/delete的区别
  • 遇到bug怎么分析,这篇文章值得一看
  • Java学习|Java基础知识
  • C++11中的constexpr
  • 【网络】HTTPS协议
  • Python 从入门到实战6(二维列表)
  • 数据结构----链表
  • 实现一个简单的车贷计算小程序(含代码)
  • cocotb备忘录
  • Flink问题记录
  • 用 count(*)哪个存储引擎会更快?
  • SpringBoot学习(3)(配置文件的基本使用)
  • 配置管理 —— SpringCloud Config
  • 关于位结构体及位操作总结
  • 用ChatGPT三分钟写一个完美的PPT,彻底告别繁琐的制作过程
  • Datawhale X 李宏毅苹果书AI夏令营 学习笔记