开发者社区 问答 正文

在Flink 3.0版本中,为什么需要手动管理状态,并如何实现的?

在Flink 3.0版本中,为什么需要手动管理状态,并如何实现的?

展开
收起
萝卜丝丸子 2024-08-12 20:39:43 21 分享 版权
1 条回答
写回答
取消 提交回答
  • 在Flink 3.0版本中,由于默认的join操作只能join上一次的结果,因此需要手动管理状态。我们实现了一个keyedProcessFunction来管理状态。数据到达后,首先进行过滤并union处理,然后根据唯一标识进行key by分组。在分组后,通过检查响应和埋点是否已到达来决定是否输出并清除状态后端中的数据,若不满足条件,则将消息存储在RocksDB状态后端中继续等待。image.png

    2024-08-13 21:32:01
    赞同 展开评论
问答标签:
问答地址: