2016-12-12 5 views
1

Я строю проект Scala в Intellij, и я пытаюсь запустить пример Apache Spark. Вот мой код:Ошибка при запуске примера Spark-Scala в intellij

package sparkTraining 

import org.apache.spark.{SparkConf, SparkContext} 

object SimpleApp { 
def main(args: Array[String]) { 
    val logFile = "/usr/local/spark/README.md" 
    val conf = new SparkConf().setAppName("Simple Application") 
    val sc = new SparkContext(conf) 
    val logData = sc.textFile(logFile, 2).cache() 
    val numAs = logData.filter(line => line.contains("a")).count() 
    val numBs = logData.filter(line => line.contains("b")).count() 
    println(s"Lines with a: $numAs, Lines with b: $numBs") 
    sc.stop() 
} 
} 

Я установил Scala и SBT плагин на Intellij и вот мой build.sbt код:

name := "sparkTraining" 

version := "1.0" 

scalaVersion := "2.12.0" 

и я добавил все Saprk 2.0.1 банки к проект. Но проблема в том, когда я запускаю этот кусок кода, оно ошибки:

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps; 
at org.apache.spark.util.Utils$.getCallSite(Utils.scala:1410) 
at org.apache.spark.SparkContext.<init>(SparkContext.scala:77) 
at sparkTraining.SimpleApp$.main(testScala.scala:9) 
at sparkTraining.SimpleApp.main(testScala.scala) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 

Я искал его, и я не мог найти какой-либо полезный ответ.

Вот некоторые точки:

  • Я два пользователя, user1 и hduser, и весь мой проект Big Data, как Hadoop, Спарк и Scala находятся под hduser и все пути установлены в hduser .bashrc, а Intellij находится под root (в папке/opt).
  • при выполнении этого кода Spark не работает на моей машине.

Эти два пункта оказывают влияние на выполнение? Как я могу решить свою проблему? Thanks

+0

Пожалуйста, разместите все ваши зависимости, а также – Shem

+0

это связано с несоответствием версии scala –

ответ

2

Я предполагаю, что это несовместимо с версией scala, официальные документы говорят, что вам понадобится использовать совместимую версию Scala (2.11.x). official Documents

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