5
Apache Flink中的JoinFunction
和CoGroupFunction
有什么区别?语义和执行有何不同?Apache Flink的JoinFunction和CoGroupFunction如何不同?
Apache Flink中的JoinFunction
和CoGroupFunction
有什么区别?语义和执行有何不同?Apache Flink的JoinFunction和CoGroupFunction如何不同?
这两个,连接和CoGroup转换加入关键字段上的两个输入。差异是如何在用户函数的调用:
JoinFunction
与对从具有键字段的值相同的两个输入匹配的记录的。这种行为与平等内连接非常相似。CoGroupFunction
和迭代器,这些记录的键值字段值相同。如果输入没有某个键值的记录,则传递一个空的迭代器。 CoGroup转换可以用于内部和外部等式联接等。因此它比Join转换更通用。查看Join和CoGroup的执行策略,Join可以使用基于排序和基于散列的连接策略执行,其中CoGroup总是使用基于排序的策略执行。因此,联接通常比cogroup更有效,如果可能的话,应该首选联接。