使用 Spark 和 GraphX 相互查找边

Find mutually Edges with Spark and GraphX

我是 spark 和 graphx 的新手。我的问题是,如果我有一个图表,其中一些节点之间有相互(相互)边,我想 select 具有良好性能的边。一个例子:

来源目的地

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

顺序可以随意。有谁知道我怎样才能得到这个?

尝试:

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)))