flink处理迟到数据

轻微乱序

WatermarkStrategy

.forBoundedOutOfOrdernessEvent(Duration.ofMinutes(5))

.withTimestampAssigner((event, _) => event.eventTime)

// 降低水位线的推进

窗口状态保留 等待晚点的数据

stream

.keyBy(_.userId)

.window(TumblingEventTimeWindows.of(Time.minutes(10)))

.allowedLateness(Time.minutes(5))

.reduce(...)

//使用 allowedLateness 窗口已经触发后,仍然允许一段时间内的迟到数据更新窗口结果

// 这会导致窗口状态清理延迟 状态变大

侧数据流收集后单独处理

val lateTag = new OutputTagEvent("late-data")

val result = stream

.keyBy(_.userId)

.window(TumblingEventTimeWindows.of(Time.minutes(10)))

.allowedLateness(Time.minutes(5))

.sideOutputLateData(lateTag)

.reduce(...)

val lateStream = result.getSideOutput(lateTag)

这些数据可以用于:

  • 落库留痕。
  • 发送告警。
  • 离线补偿。
  • 人工排查。
  • 回灌重算。
相关推荐
天河归来11 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
GlobalInfo13 小时前
2026年全球机器人用超平执行器市场研究报告:市场规模达7.51亿美元,人形机器人商业化与轻量化运动控制需求推动行业增长
大数据·人工智能·数码相机·microsoft·机器人
IT古董14 小时前
《Agent开发工程师成长指南》- 第4章 第2节:Prompt设计五要素——任务、角色、上下文、约束与输出格式
大数据·人工智能·prompt
Allen_LVyingbo16 小时前
NVIDIA CUDA Tile 在医疗计算中的算子形式化、算法重构与内核实现
大数据·python·算法·重构·知识图谱·健康医疗·数据库架构
全栈陈序员17 小时前
【Git】从入门到精通(一)—— Git简介:什么是版本控制系统
大数据·git·elasticsearch
中国搜索直付通17 小时前
分账系统有风险吗?资金安全怎么保障?
大数据·支付通道·分账系统·分账支付
一枕槐安48718 小时前
微调 vs Prompt:业务场景下两种方案成本 & 效果对比
大数据·人工智能·prompt·混合架构·推理成本·行为固化·知识边界
SelectDB18 小时前
Apache Doris 与 SelectDB 是什么关系?从开源技术到面向 Agent 的极速分析数据库
大数据·数据库·数据分析
科技新资讯18 小时前
AI如何批量处理Excel文件? 从数据合并、清洗到自动生成报表,看看 AI Agent 怎么完成任务
大数据·人工智能·excel
SelectDB18 小时前
存算分离冷查询提速 7.5 倍!Apache Doris 4.2 Peer Read 实现跨计算组缓存复用
大数据·数据库·数据分析