我对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
订单可能是任意的。有谁知道我怎么能得到这个?
答案 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)))