Spark GraphX获得所有顶点之间的最短路径

时间:2017-04-04 16:39:21

标签: apache-spark spark-graphx

在Spark GraphX中,ShortestPaths不会将RDD作为输入,而是Seq

这意味着以下内容不起作用:

val paths = ShortestPaths.run(graph,graph.vertices)

然而,我的图表太大而无法调用collect,我不想通过强制它仅限于驱动程序来减慢速度。是否有使用mapaggregateMessages的解决方法?或者我将不得不自己重写路径查找代码?

1 个答案:

答案 0 :(得分:0)

我必须承认你的目标对我没有意义。你在寻找一个地图,使用简单的语言,Vertex - > (其他顶点,其他顶点的最短路径)列表?对我来说,最短路径问题总是涉及一个相对较小的顶点子集,所以Seq对我来说很有意义。

无论如何,我认为您需要使用Pregel object来自行计算最短路径,使用Google原始Pregel paper开创的批量同步并行方法和{{3来自Facebook。 Giraph是一篇关于在GraphX中使用带有Pregel的BSP进行最短路径的帖子。