1

我正在使用以下代码并注意,当我尝试查看顶点时,它不会在控制台上显示任何内容,但边缘会成功显示。

val vertexArray = Array((1L, ("Alice", 28)),(2L, ("Bob", 27)),(3L, ("Charlie", 65)),(4L, ("David", 42)),(5L, ("Ed", 55)),(6L, ("Fran", 50)))

val edgeArray = Array(Edge(2L, 1L, 7),Edge(2L, 4L, 2),Edge(3L, 2L, 4),Edge(3L, 6L, 3),Edge(4L, 1L, 1),Edge(5L, 2L, 2),Edge(5L, 3L, 8),Edge(5L, 6L, 3))


val vertexRDD: RDD[Vertex(Long, (String, Int))] = sc.parallelize(vertexArray)
val edgeRDD: RDD[Edge[Int]] = sc.parallelize(edgeArray)

val graph: Graph[(String, Int), Int] = Graph(vertexRDD, edgeRDD)

graph.vertices.collect().foreach(println)
graph.edges.collect().foreach(println)

这些也将顶点数表示为 0。

graph.numEdges
graph.numVertices

实际上我期望 graph.numVertices 打印为 6 但它是 0 并且 graph.vertices.collect().foreach(println) 我期望它打印所有顶点但它不打印任何顶点。

4

1 回答 1

0

这在我以 SA 模式启动 Spark 时有效:

/usr/bin/spark-shell

我正在使用CDH5 ...

早些时候我一直这样启动 Spark:

/home/cloudera/Downloads/spark-1.2.0-bin-hadoop2.3/bin/spark-shell

这似乎已解决。

于 2015-01-01T11:35:19.910 回答