首页 > 解决方案 > 连接的键控流上的 coProcessFunction 与 keyedCoProcessFunction

问题描述

在参考 Flink 代码示例时,我观察到当使用运算符连接两个流时,在对键控流(覆盖、、和)进行操作时connect,两者几乎可以互换coProcessFunctionkeyedCoProcessFunction相同地扩展,因此在对键控流进行操作时,两者之间有什么区别扩展与实现键控连接流的业务逻辑相比?processElement1processElement2onTimerCoProcessFunctionkeyedCoProcessFunction

谢谢你。

标签: apache-flinkflink-streaming

解决方案


KeyedCoProcessFunction并且KeyedProcessFunction最近添加了一些。与无键风格相比,当前键在Context传递给各种 processElement 和 onTimer 方法时可用。

如果您尝试在 ProcessFunction 或 CoProcessFunction 中使用键控状态或计时器,如果您实际上处于键控上下文中,它将起作用,如果您不是,它将抛出异常。


推荐阅读