Spark Scala GraphX:InDegree不为具有0 indegree的节点返回indegree

时间:2016-05-06 01:28:51

标签: scala apache-spark spark-graphx

我已经在互联网上查看了GraphX中图形的字段示例,并且他们都说它对图中的每个顶点都返回不确定。但是,当我执行以下示例时:

val a = sc.parallelize(List(Edge(1L, 2L, 3L)))
val g = Graph.fromEdges[Long, Long](a, 0)
g.numVertices
g.inDegrees.take(5).foreach(println)

我得到2个顶点,但只返回1个indegree对。这似乎是一个奇怪的实现。我做错了吗?

1 个答案:

答案 0 :(得分:2)

是的,inDegrees没有返回零indegree的顶点。同样,outDegrees也不会返回零outdegree的顶点。但是,它通常不是问题,因为涉及RDD[(VertexID, U)]类似连接的操作与Option一起使用;请参阅GraphX guide中的示例:

// A graph where the vertex property is the out degree
val inputGraph: Graph[Int, String] =
  graph.outerJoinVertices(graph.outDegrees)((vid, _, degOpt) => degOpt.getOrElse(0))