![](/img/trans.png)
[英]Mongo java.lang.IllegalArgumentException: can't serialize class java.lang.Class
[英]spark scala can't find codec for java.lang.class
新手火花和scala。 我正在尝试通过intellij-idea执行一个非常简单的spark程序。 它所做的就是:
它工作正常,但是现在抛出错误:
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.