2017-09-18 7 views
1

アプリケーションからsparkコンテキストを作成しようとすると、次のエラーが発生します。Sparkコンテキスト作成エラー

Exception in thread "main" java.lang.NoClassDefFoundError: scala/Product$class 
     at org.apache.spark.SparkConf$DeprecatedConfig.<init>(SparkConf.scala:723) 
     at org.apache.spark.SparkConf$.<init>(SparkConf.scala:571) 
     at org.apache.spark.SparkConf$.<clinit>(SparkConf.scala) 
     at org.apache.spark.SparkConf.set(SparkConf.scala:92) 
     at org.apache.spark.SparkConf.set(SparkConf.scala:81) 
     at org.apache.spark.SparkConf.setAppName(SparkConf.scala:118) 
     at sparkEnvironment$.<init>(Ticket.scala:33) 
     at sparkEnvironment$.<clinit>(Ticket.scala) 
     at Ticket$.main(Ticket.scala:40) 
     at Ticket.main(Ticket.scala) 
    Caused by: java.lang.ClassNotFoundException: scala.Product$class 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
     ... 10 more 

私はSpark 2.2.0とScalaバージョン2.12.3を使用しています。次のように私のbuild.sbtに見えます:

scalaVersion := "2.12.3" 

libraryDependencies += "com.typesafe" % "config" % "1.3.1" 
libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.36" 

//Sparks dependencies 
libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.2.0" 
libraryDependencies += "org.apache.spark" % "spark-mllib_2.10" % "2.2.0" 

を、次のように私は、コンテキストを作成しようとしたスニペットがある:

object sparkEnvironment { 

    Logger.getLogger("org.apache.spark").setLevel(Level.WARN) 
    Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF) 

    val conf : SparkConf = new SparkConf().setAppName("Ticketing").setMaster("local[2]") 
    val sc = new SparkContext(conf) 
} 

object Ticket { 
    def main(args: Array[String]): Unit = { 

    println(sc) 
} 
} 
+1

mainメソッド内でsparkContextを定義してください。 –

+0

Nopeもうまくいきませんでした。 – TheShark

+0

実際に私の問題は、スパークコンテキストはスパークシェルでエラーなしで作成され、コードを実行することですが、アプリケーション(スパークコンテキスト)での作成に関しては、例外をスローします。 – TheShark

答えて

1

は、Spark 2.2.0 Scalaの2.11で動作するように構築され、配布されますデフォルトでは Scalaでアプリケーションを作成するには、互換性のあるScalaバージョン(2.11.Xなど)を使用する必要があります。 スカラのバージョンは2.12.Xです。それが例外を投げている理由です。

関連する問題