【问题标题】:Find mutually Edges with Spark and GraphX使用 Spark 和 GraphX 查找相互边
【发布时间】:2015-06-08 13:19:45
【问题描述】:
我对 spark 和 graphx 真的很陌生。我的问题是,如果我有一个图,其中一些节点之间有相互(相互)边,我想选择性能良好的边。一个例子:
来源目的地
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
顺序可以是任意的。有谁知道我怎么能得到这个?
【问题讨论】:
标签:
graph
apache-spark
vertices
edges
spark-graphx
【解决方案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)))