apache flink connect与join

ar5n3qh5  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(479)

在apache flink流处理中,join操作与connect有何不同?因此,coprocessfunction和processjoinfunction有何不同?这是由coprocessfunction提供的ontimer函数吗?你能提供一个例子用例适合于以互斥的方式连接/连接吗。

mkshixfv

mkshixfv1#

差别相当大。在join的情况下,它的工作方式或多或少类似于sql内部join,因此您还需要提供用于连接的字段 Join 在窗口上计算。
因此,基本上您为每个窗口定义键,这些窗口将用于连接和计算结果。这个 ProcessJoinFunction 允许您在处理连接的元素后处理它们,但您无法控制连接机制本身,即已连接的元素对将传递给 ProcessJoinFunction 万一 connect 您还可以定义键(但不必这样做),但这些键将不用于连接,而是用于控制通过操作符的并行示例的流和键控状态。因此,在connect的情况下,没有逻辑负责如何连接元素,而是负责stream1方法中的每个元素 processElement1 将为stream2方法中的每个元素调用和 processElement2 将被调用。因此,如果您想执行某种类型的连接,就必须自己实现逻辑。

相关问题