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

flink窗口分组数据错乱

文章目录

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

问题

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

目标

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

解决问题-方案1

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

使用事件时间

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

迟到时间

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

输出幂等

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

解决问题-方案2

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


http://www.kler.cn/a/289388.html

相关文章:

  • NUXT3学习日记一(在我git中拉取代码、文件讲解)
  • 大数据 ETL + Flume 数据清洗 — 详细教程及实例(附常见问题及解决方案)
  • 外星人入侵
  • ffmpeg内存模型
  • Day09 C++ 存储类
  • Dial-insight:利用高质量特定领域数据微调大型语言模型防止灾难性遗忘
  • Spring源码之refresh
  • 常用性能参数检查方法图示
  • Unity ScriptableObject持久化操作
  • 装饰器模式及应用【理论+代码】
  • 弱通联条件下的人机混合控制
  • 蓝桥杯备赛day02:递推
  • 【Linux操作系统】:Linux生产者消费者模型
  • 数据分析-MAC 编程环境安装教程
  • 淘客APP的前后端分离架构设计
  • 学习记录——day42 多态
  • 算法图解(2)
  • 【Day08】
  • weak_ptr是否有计数方式,在哪分配的空间。
  • MacBook Pro M3 安装 Node.js v14 的兼容性
  • 进阶SpringBoot之 Shiro(6)整合 Thymeleaf
  • 【word导出带图片】使用docxtemplater导出word,通知书形式的word
  • 0基础学习爬虫系列:Python环境搭建
  • Anaconda的环境管理操作命令详解-学习篇
  • mysql创建数据库和表
  • list的简单实现