2015-10-11 3 views
-1

Я использую Spark и Graphx на IntelliJ IDEA в первый раз. Я пытаюсь создать граф и запускать запросы на нем, но я получаю следующую ошибку:Ошибка незаконного доступа в GraphX ​​

java.lang.IllegalAccessError: попытался получить доступ к классу org.apache.spark.util.collection.Sorter из класса org .apache.spark.graphx.impl.EdgePartitionBuilder

Вот мой код:

package org.apache.spark.examples 
// import required spark classes 


import org.apache.spark._ 
import org.apache.spark.SparkContext._ 
import org.apache.spark.SparkConf 
import org.apache.spark.graphx._ 
import org.apache.spark.rdd.RDD 
// define main method (scala entry point) 
object HelloWorld { 
    def main(args: Array[String]) { 

    val conf = new SparkConf().setAppName("HelloWorld") 
    val sc = new SparkContext(conf) 
    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[(Long, (String, Int))] = sc.parallelize(vertexArray) 
    val edgeRDD: RDD[Edge[Int]] = sc.parallelize(edgeArray) 
    val graph: Graph[(String, Int), Int] = Graph(vertexRDD, edgeRDD) 

    // Solution 1 
    graph.vertices.filter { case (id, (name, age)) => age > 30 }.collect.foreach { 
     case (id, (name, age)) => println(s"$name is $age") 
    } 

    // Solution 2 
    graph.vertices.filter(v => v._2._2 > 30).collect.foreach(v => println(s"${v._2._1} is ${v._2._2}")) 

    // Solution 3 
    for ((id,(name,age)) <- graph.vertices.filter { case (id,(name,age)) => age > 30 }.collect) { 
     println(s"$name is $age") 
    } 

    sc.stop() 

    } 
} 
+0

Какие версии вы компилируете и запускаете? Я подозреваю, что это, вероятно, проблема класса. –

+0

версия scala: 2.10.6 Искры версии 1.5.1 на hadoop 2.6 Версия Maven: 3.3.0 – CMWasiq

+0

Какие артефакты вы натягиваете в Maven? –

ответ

1

проблема была с версией я лестница, используя, 2.10.6, потому что я читал из руководства по установке, искра хорошо работал только с версиями 2.10.x. Но после установки последней версии, 2.11.x, все работало нормально

Смежные вопросы