2016-06-07 24 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)語法。希望這可以幫助。