首页 > 解决方案 > Flink join 和 connect 有什么区别?

问题描述

我对定义感到困惑。join在文档中,它后面似乎是一个已key定义的,但connect不需要指定key,其结果是一个connectedStream. 我们能用这个做什么,conenctedStream有没有什么具体的例子可以让我们使用其中一个而不是另一个?

更多,connected stream外观如何?

提前致谢

标签: apache-flink

解决方案


操作比连接connect操作更通用。Connect 确保两个流(键控或非键控)在同一位置(在 a 中的同一并行实例)相遇CoXXXFunction

一个流可以是控制应用于另一个流的行为的控制流。例如,您可以引入新的机器学习模型或其他业务规则。

或者,您可以使用键控并在同一位置汇合的两个流的属性来加入。Flink 提供了一些预定义的连接操作符

但是,数据流的加入通常取决于不同的特定于用例的行为,例如“您希望等待另一个密钥到达多长时间?”、“您只寻找一个匹配对还是更多?”或“如果没有匹配记录到达或其他匹配记录不再存储在状态中,是否存在需要特殊处理的后期元素?”。如果需要, Aconnect()允许您实现自己的加入逻辑。此处的data Artisans 培训解释了一个 connect for join 示例。


推荐阅读