- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
您好,我在 Spark 网站上运行示例 http://spark.apache.org/docs/1.2.0/quick-start.html#self-contained-applications
spark版本:spark-1.4.0
sbt 版本:0.13.8
我运行命令“sbt run”并得到错误“java.io.InvalidClassException:org.apache.spark.deploy.ApplicationDescription;本地类不兼容”。
当我尝试启动 SparkContext 类时,此应用程序在“val sc = new SparkContext(conf)”处失败。我用谷歌搜索并看到 this post但我没有使用 hadoop-client。
可以请你检查一下吗?我的猜测是 build.sbt 中的版本问题。非常感谢。
更新:我已尝试提交 python 应用程序并且工作正常,这意味着 Spark 集群正常。
scala代码如下:
/* SimpleApp.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object SimpleApp {
def main(args: Array[String]) {
val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your system
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("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
}
}
built.sbt 如下:
name := "Simple Project"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.2.0"
错误信息如下:
15/08/27 05:23:38 ERROR Remoting: org.apache.spark.deploy.ApplicationDescription; local class incompatible: stream classdesc serialVersionUID = 7674242335164700840, local class serialVersionUID = -7685200927816255400
java.io.InvalidClassException: org.apache.spark.deploy.ApplicationDescription; local class incompatible: stream classdesc serialVersionUID = 7674242335164700840, local class serialVersionUID = -7685200927816255400
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at akka.serialization.JavaSerializer$$anonfun$1.apply(Serializer.scala:136)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at akka.serialization.JavaSerializer.fromBinary(Serializer.scala:136)
at akka.serialization.Serialization$$anonfun$deserialize$1.apply(Serialization.scala:104)
at scala.util.Try$.apply(Try.scala:161)
at akka.serialization.Serialization.deserialize(Serialization.scala:98)
at akka.remote.serialization.MessageContainerSerializer.fromBinary(MessageContainerSerializer.scala:63)
at akka.serialization.Serialization$$anonfun$deserialize$1.apply(Serialization.scala:104)
at scala.util.Try$.apply(Try.scala:161)
at akka.serialization.Serialization.deserialize(Serialization.scala:98)
at akka.remote.MessageSerializer$.deserialize(MessageSerializer.scala:23)
at akka.remote.DefaultMessageDispatcher.payload$lzycompute$1(Endpoint.scala:58)
at akka.remote.DefaultMessageDispatcher.payload$1(Endpoint.scala:58)
at akka.remote.DefaultMessageDispatcher.dispatch(Endpoint.scala:76)
at akka.remote.EndpointReader$$anonfun$receive$2.applyOrElse(Endpoint.scala:937)
at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
at akka.remote.EndpointActor.aroundReceive(Endpoint.scala:415)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
at akka.actor.ActorCell.invoke(ActorCell.scala:487)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
at akka.dispatch.Mailbox.run(Mailbox.scala:220)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
最佳答案
您说您正在使用 Spark 1.4.0 集群运行,但您的 build.sbt
正在使用 1.2.0 构建。请在您的 build.sbt 中更改为:
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.4.0"
关于java - Apache Spark : ERROR local class incompatible when initiating a SparkContext class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32241485/
我正在使用 Spark 在 Scala 中执行测试,创建 SparkContext 如下: val conf = new SparkConf().setMaster("local").setAppNa
我正在使用 spark-1.5.0-cdh5.6.0 .尝试了示例应用程序 (scala) 命令是: > spark-submit --class com.cloudera.spark.simbox.
我正在尝试在 Hadoop YARN 客户端模式下运行我的 spark 作业,我正在使用以下命令 $/usr/hdp/current/spark-client/bin/spark-submit -
我使用的是 Window 10、Scala 2.10.2、Spark 1.6.1 和 Java 1.8。下面是我尝试运行的代码。 import org.apache.spark.SparkCont
我在 PySpark 中有一小段代码,但我不断收到错误。我是新手,所以我不确定从哪里开始。 from pyspark import SparkContext, SparkConf conf = Spa
我正在尝试为 spark 应用程序编写测试,但在尝试运行下一个测试时出现此异常 class BasicIT { val sparkConf: SparkConf = new Sp
这个问题已经有答案了: Mac spark-shell Error initializing SparkContext (13 个回答) 已关闭2 年前。 我已经安装了以下版本的设置:Hadoop版本
所以我是 Spark 新手。我的版本是:Spark 2.1.2、Scala 版本 2.11.8(Java HotSpot(TM) 64 位服务器 VM、Java 1.8.0_131)。我在 Windo
我目前正在尝试扩展使用 Scala 和 Spark 的机器学习应用程序。我正在使用我在 Github 上找到的迪特里希·劳森 (Dieterich Lawson) 以前项目的结构 https://gi
我正在尝试使用 Spark 结构化流处理一些事件。 传入事件如下所示: 事件1: 网址http://first/path/to/read/from... 事件2: 网址http://second/pa
请告诉我我该如何使用 SparkContext 指定textFile()的输入路径。像下面这样对我不起作用。 sc.textFile("hdfs://localhost:54310/home/myFi
我正在尝试使用 Spark 结构化流处理一些事件。 传入事件如下所示: 事件1: 网址http://first/path/to/read/from... 事件2: 网址http://second/pa
我正在使用 Spark-shell 学习 Spark。 当从终端运行spark-shell时,默认已经提供了一个sparkContext。我想向 Spark 上下文添加一些手动设置(例如 setMas
我正处于学习spark的初级阶段。我刚刚开始使用 pyspark 使用 python 进行编码。在浏览基本代码时,我在 Jupyter 笔记本上遇到了此错误。好吧,我已经在我的电脑上安装了 Spark
我正在尝试使用wholeTextFiles读取文件夹中的所有文件名并单独处理它们(例如,我正在尝试获取每个数据集的SVD vector ,总共有100组)。数据保存在按空格分割并排列在不同行(如矩阵)
我在 CentOS 上工作,我已经设置了 $SPARK_HOME 并且还在 $PATH 中添加了 bin 的路径。 我可以从任何地方运行 pyspark。 但是当我尝试创建 python 文件并使用此
如何停止当前运行的任何 Spark 上下文。 信息API:斯卡拉Spark版本:Spark 2.3 实际上我已经创建了 Spark 上下文。为了阻止他们我应该输入例如instance.stop() 但
作为 this question 的延续, 你能告诉我我可以从 SparkContext.setLocalProperties 更改哪些属性吗? ? 我可以更换内核、RAM 等吗? 最佳答案 根据文档
我正在尝试使用 intellij 在 spark 上运行 Scala 代码。 Scala 代码 import scala.collection.JavaConverters._ import org.
我发誓我以前做过,但我找不到代码或答案。我想获取当前正在运行的 SparkContext 的名称并将其读入变量或将其打印到屏幕上。类似于以下内容: val myContext = SparkConte
我是一名优秀的程序员,十分优秀!