2016-12-19 6 views
1

私は、Spark/ScalaのapacheでGraphXオブジェクトを作成しようとしていますが、何らかの理由で動作していないようです。私は、実際のプログラムコードは、例えば、入力ファイルのファイルを添付している:GraphXが正常に動作しないSpark/Scala

package SGraph 

import org.apache.spark._ 

import org.apache.spark.SparkContext._ 

import org.apache.spark.sql._ 

import org.apache.log4j._ 

import org.apache.spark.rdd.RDD 

import org.apache.spark.graphx._ 
` 
    object GooglePlusGraph { 

    /** Our main function where the action happens */ 
     def main(args: Array[String]) { 

    // Set the log level to only print errors 
    Logger.getLogger("org").setLevel(Level.ERROR) 

    // Create a SparkContext using every core of the local machine 
    val sc = new SparkContext("local[*]", "GooglePlusGraphX") 

    val lines = sc.textFile("../Example.txt") 

    val ratings = lines.map(x => x.toString().split(":")(0)) 

    val verts = ratings.map(line => (line.toLong,line)) 

    val edges = lines.flatMap(makeEdges) 

    val default = "Nobody" 
    val graph = Graph(verts, edges, default).cache() 

    graph.degrees.join(verts).take(10).foreach(println) 
    } 

    def makeEdges(line: String) : List[Edge[Int]] = { 

    import scala.collection.mutable.ListBuffer 

    var edges = new ListBuffer[Edge[Int]]() 

    val fields = line.split(",").flatMap(a => a.split(":")) 

    val origin = fields(0) 

    for (x <- 1 to (fields.length - 1)) { 
     // Our attribute field is unused, but in other graphs could 
     // be used to deep track of physical distances etc. 
     edges += Edge(origin.toLong, fields(x).toLong, 0) 
    } 

    return edges.toList 
    } 
} 

私が得る最初のエラーは以下の通りです:任意の助け

16/12/19 01:28:33 ERROR Executor: Exception in task 0.0 in stage 2.0 (TID 3) 
java.lang.NumberFormatException: For input string: "935750800736168978117" 

感謝を!

+0

[文字列をlong型に変換できません](http://stackoverflow.com/questions/41215421/cannot-convert-string-to-a-long-in-scala) –

答えて

関連する問題