繁体   English   中英

Spark Scala找不到java.lang.class的编解码器

[英]spark scala can't find codec for java.lang.class

新手火花和scala。 我正在尝试通过intellij-idea执行一个非常简单的spark程序。 它所做的就是:

  1. 连接到mongodb数据库到特定集合
  2. 载入资料
  3. 打印第一条记录。

它工作正常,但是现在抛出错误:

org.bson.codecs.configuration.CodecConfigurationException:找不到类java.lang.Class的编解码器。

这是我的代码:

import org.apache.spark.{SparkConf, SparkContext}
import com.mongodb.spark._
import com.mongodb.spark.rdd.MongoRDD
import org.bson.Document
import com.mongodb.spark.config._
import org.apache.spark.sql.SQLContext
import com.mongodb.spark.sql._
import scala.reflect.runtime.universe._

object Analytics1 {
  def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Analytics1").setMaster("local").
      set("spark.mongodb.input.uri","mongodb://192.168.56.1:27017/events.entEvent")
        .set("spark.mongodb.output.uri", "mongodb://192.168.56.1:27017/events..entResult")
val sc = new SparkContext(conf)

val rdd = sc.loadFromMongoDB()
println(rdd.first())

sc.stop()

  }
}

这是我的.sbt。 如果我使用最新版本的spark,则抛出此错误

线程“主”中的异常java.lang.NoClassDefFoundError:org / apache / spark / sql / DataFrame

所以我使用的是1.6.1, 直到几天前它都可以正常工作 ,但是现在它抛出了

java.lang.class

错误。 请有人帮忙,让我动起来。 由于这是非常基本的,所以我希望有人会提出一些建议并让我畅通无阻。

谢谢。

    name := "Simple Project"

version := "1.0"

scalaVersion := "2.11.7"

// libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"

//libraryDependencies += "org.apache.spark" % "spark-mllib_2.11" % "1.6.1"
libraryDependencies += "org.apache.spark" %% "spark-mllib" % "1.6.1"

//libraryDependencies += "org.mongodb.spark" % "mongo-spark-connector_2.10" % "1.1.0"
libraryDependencies += "org.mongodb.spark" %% "mongo-spark-connector" % "1.1.0"

libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "1.2.1"

libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.6.1"

resolvers += "Akka Repository" at "http://repo.akka.io/releases/"
resolvers += "snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/ "
resolvers += "releases"  at "https://oss.sonatype.org/content/repositories/releases/"

libraryDependencies + =“ org.mongodb.spark”%“ mongo-spark-connector_2.10”%“ 1.1.0”

您正在加载适用于Spark for Scala 2.10的MongoDB连接器 虽然,您的项目使用的是Scala 2.11.7版本,包括mongo-scala-driver

交换上面的行到:

libraryDependencies += "org.mongodb.spark" % "mongo-spark-connector_2.11" % "1.1.0"

或者,通过指定double %使用快捷方式使用给定的Scala版本:

libraryDependencies += "org.mongodb.spark" %% "mongo-spark-connector" % "1.1.0"

查看有关SBT依赖项的更多信息:获取正确的Scala版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM