如何在Apache Flink中执行自联接

时间:2018-02-02 08:16:08

标签: apache-flink self-join

通常在对表执行自联接时,会对连接表的ID进行限制,以避免对称结果和行与自身的连接。

似乎至少有三种方法可以在apache flink中实现自联接(如上所述here):

  1. 使用常规联接运算符dataset.join(dataset)。然而,前面提到的限制似乎不可能以这种方式实现。
  2. 使用reduce运算符并手动实现连接。这可能会导致记忆问题。
  3. reduceGroupflatMapreduceGroup的组合。该方法用于图算法的一些凝胶实现,例如。 JaccardIndex,其中的操作名为GenerateGroupSpansGenerateGroupsGenerateGroupPairs。我不清楚这些名称是指某种模式还是计算策略。
  4. 是否有一种在Apache Flink中执行自联接的最佳方法,还是取决于用例?哪种方法最佳性能,内存和可靠性?是否有一般模式来理解方法3?

0 个答案:

没有答案