2016-06-07 85 views
0

我是Apache Spark的新手, 我可以得到如何为依赖图实现“展平”的片段吗? 即可以说我有: 节点:A,B,C 边缘:(A,B),(B,C)如何拼合依赖关系图?

这将导致一个新的图表: 节点:A,B,C 边:(A,B)(A,C)(B,C)

+0

这是非平凡的。当然没有现成的方式来做到这一点。你有什么尝试? –

+0

没有尝试任何东西,我只是试图了解其他算法,如大多数短路径,所以我可以定制/修改它,我之所以看这个算法的原因是因为他也是递归的。 –

回答

0

1)。假定每个节点是在其自己的行

A 
B 
C 

2)做一个交叉带自作为第一步骤JOIN。

A A 
A B 
A C 
B A 
B B 
B C 
C A 
C B 
C C 

2)在第二步中,过滤掉节点名称重复的所有行。

A B 
A C 
B A 
B C 
C A 
C B 

3)从两个领域派生另一个领域,会告诉你的边缘。

A B AB 
A C AC 
B A BA 
B C BC 
C A CA 
C B CB 

虽然您需要将其转换为(Scala/Python)语法。希望这可以帮助。