在 Spark graphX 中运行以下用于创建图形的代码时出现错误。我通过以下命令通过 spark-shell 运行它: ./bin/spark-shell -i ex.scala
输入:
My Vertex File looks like this (each line is a vertex of strings):
word1,word2,word3
word1,word2,word3
...
My Edge File looks like this: (edge from vertex 1 to vertex 2)
1,2
1,3
代码:
// Creating Vertex RDD (Input file has 300+ records with each record having list of strings separated by delimiter (,).
//zipWithIndex done to get an index number for all the entries - basically numbering rows
val vRDD: RDD[(VertexId, Array[String])] = (vfile.map(line => line.split(","))).zipWithIndex().map(line => (line._2, line._1))
// Creating Edge RDD using input file
//val eRDD: RDD[Edge[Array[String]]] = (efile.map(line => line.split(",")))
val eRDD: RDD[(VertexId, VertexId)] = efile.map(line => line.split(","))
// Graph creation
val graph = Graph(vRDD, eRDD)
错误:
Error:
<console>:52: error: type mismatch;
found : Array[String]
required: org.apache.spark.graphx.Edge[Array[String]]
val eRDD: RDD[Edge[Array[String]]] = (efile.map(line => line.split(",")))
<console>:57: error: type mismatch;
found : org.apache.spark.rdd.RDD[(org.apache.spark.graphx.VertexId, org.apache.spark.graphx.VertexId)]
required: org.apache.spark.rdd.RDD[org.apache.spark.graphx.Edge[?]]
Error occurred in an application involving default arguments.
val graph = Graph(vRDD, eRDD)