使用Spark和GraphX查找相互边缘

时间:2015-06-08 13:19:46

标签: graph apache-spark vertices edges spark-graphx

我对spark和graphx真的很陌生。我的问题是,如果我有一个图形,其中一些节点之间有相互(相互)的边,我想选择具有良好性能的边。一个例子:

来源Dst。

  

1 2

     

1 3

     

1 4

     

1 5

     

2 1

     

2 5

     

2 6

     

2 7

     

3 1

我想得到结果:

  

1 2

     

2 1

     

1 3

     

3 1

订单可能是任意的。有谁知道我怎么能得到这个?

1 个答案:

答案 0 :(得分:1)

尝试:

edges.intersection(edges.map(e => Edge(e.dstId, e.srcId))

请注意,这也会比较Edge.attr值。如果您想忽略attr值,请执行以下操作:

edges.map(e=> (e.srcId,e.dstId)).intersection(edges.map(e => (e.dstId, e.srcId)))