GraphX:从顶点列表中获取所有相邻顶点的最佳方法是什么?

时间:2019-04-01 14:50:22

标签: apache-spark spark-graphx

假设给定一个RDD属性列表,如attrs作为图形边缘的源属性,以及一个图形graph,我如何获得这些源的所有相邻/目标顶点?我目前正在尝试的是:

val map = attrs.zipWithUniqueId().collectAsMap()
val neighbors = graph.triplets.collect {case t if map.contains(t.srcAttr) => t.dstAttr}.distinct()

但是似乎有问题:

1)看起来好像没有给我正确的过滤结果,例如,我看到了一个情况,即元素属性不在地图中,但其对应的邻居在结果中。

2)在执行collectAsMap()时,输入应该适合内存,对吗?那我们有一个很大的属性列表作为输入呢?

那么有人可以建议最好的方法吗?谢谢!

0 个答案:

没有答案