apache-flink - Flink join 和 connect 有什么区别?
问题描述
我对定义感到困惑。join
在文档中,它后面似乎是一个已key
定义的,但connect
不需要指定key
,其结果是一个connectedStream
. 我们能用这个做什么,conenctedStream
有没有什么具体的例子可以让我们使用其中一个而不是另一个?
更多,connected stream
外观如何?
提前致谢
解决方案
操作比连接connect
操作更通用。Connect 确保两个流(键控或非键控)在同一位置(在 a 中的同一并行实例)相遇CoXXXFunction
。
一个流可以是控制应用于另一个流的行为的控制流。例如,您可以引入新的机器学习模型或其他业务规则。
或者,您可以使用键控并在同一位置汇合的两个流的属性来加入。Flink 提供了一些预定义的连接操作符。
但是,数据流的加入通常取决于不同的特定于用例的行为,例如“您希望等待另一个密钥到达多长时间?”、“您只寻找一个匹配对还是更多?”或“如果没有匹配记录到达或其他匹配记录不再存储在状态中,是否存在需要特殊处理的后期元素?”。如果需要, Aconnect()
允许您实现自己的加入逻辑。此处的data Artisans 培训解释了一个 connect for join 示例。
推荐阅读
- javascript - 将参数传递给 ng-model?
- android - Android 一个 NDK 方法存在重入问题
- javascript - 加载没有标记的谷歌地图
- image - Swift 4 - 在 TableViewCell/ImageView 中显示来自 Firebase 存储的图像
- oracle - 我如何为我的 java 项目找到 ordim.jar?
- docker - Docker 容器无法在卷上写入
- javascript - 为什么我的变量在角度初始化时未定义?
- rest - 如何过滤掉或停止获取 Opendaylight(氧气)BGP-LS 数据更改事件中的数据字段
- javascript - 如何使数据点工具提示在 ChartJS 中永久可见?
- java - 构建项目时无法合并dex运行和重复条目