Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala (run-main-0)java.lang.NoSuchMethodError_Scala_Apache Spark_Sbt_Nosuchmethoderror - Fatal编程技术网

Scala (run-main-0)java.lang.NoSuchMethodError

Scala (run-main-0)java.lang.NoSuchMethodError,scala,apache-spark,sbt,nosuchmethoderror,Scala,Apache Spark,Sbt,Nosuchmethoderror,当我使用sbt运行spark作业时遇到了一个问题,我已经完成了编译,但是当我运行命令run时,我遇到了下面的问题 [error] (run-main-0) java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet; java.lang.NoSuchMethodError: scala.collection.immutable.HashSe

当我使用sbt运行spark作业时遇到了一个问题,我已经完成了编译,但是当我运行命令
run
时,我遇到了下面的问题

 [error] (run-main-0) java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
    at akka.actor.ActorCell$.<init>(ActorCell.scala:305)
    at akka.actor.ActorCell$.<clinit>(ActorCell.scala)
    at akka.actor.RootActorPath.$div(ActorPath.scala:152)
    at akka.actor.LocalActorRefProvider.<init>(ActorRefProvider.scala:465)
    at akka.remote.RemoteActorRefProvider.<init>(RemoteActorRefProvider.scala:124)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at akka.actor.ReflectiveDynamicAccess$$anonfun$createInstanceFor$2.apply(DynamicAccess.scala:78)
    at scala.util.Try$.apply(Try.scala:191)
[error](run-main-0)java.lang.NoSuchMethodError:scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
java.lang.NoSuchMethodError:scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
在akka.actor.ActorCell$(ActorCell.scala:305)
位于akka.actor.ActorCell$(ActorCell.scala)
在akka.actor.RootActorPath.$div(ActorPath.scala:152)
在akka.actor.LocalActorRefProvider。(ActorRefProvider.scala:465)
在akka.remote.RemoteActorRefProvider。(RemoteActorRefProvider.scala:124)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:422)
在akka.actor.reflectedDynamicAccess$$anonfun$createInstanceFor$2.apply(DynamicAccess.scala:78)
在scala.util.Try$.apply(Try.scala:191)

有人知道我该怎么做吗?

我在使用scala-library-2.11 jar时遇到了相同的错误,但我用scala-library-2.10 jar替换了它。它运行良好

我使用了这些版本,现在一切正常

    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>2.11.6</version>
    </dependency>

    <dependency>
        <groupId>com.typesafe.akka</groupId>
        <artifactId>akka-actor_2.11</artifactId>
        <version>2.3.11</version>
    </dependency>

org.scala-lang
scala图书馆
2.11.6
com.typesafe.akka
akka-actor_2.11
2.3.11

这可能是因为使用了不兼容的Scala版本。当我从Scala 2.11降级到2.10时,我忘记修改一个包版本(因此一个包使用2.11,其余的2.10),导致了相同的错误


注意:我只是在使用IntelliJ时才遇到这个问题。

我遇到了完全相同的问题,并通过将scala 2.11.8降级到2.10.6解决了这个问题。

这个问题可以在版本
2.11.8
中重现

目前,无需降级。
只需将scala库的版本更新到2.12.0即可。

我也有同样的问题,但在哪里更改scala库的版本

安装(在Ubuntu 16.04上):

因此,当我开始使用笔记本电脑时,它告诉我我使用的是不同的scala版本。但我没有安装任何其他东西。


我的spark jars文件夹包含一个
scala-library-2.11.8.jar
文件。但是如何告诉torree将该(或其他)文件用于scala。

检查您正在使用的scala版本是否对应于预编译的spark版本。

如果您遇到了错误,并且因为无法使用Spark 2.1和Scala 2.11运行Jupiter笔记本,下面是我如何使其工作的。假设您安装了Jupiter和toree

预请求- 确保Docker正在运行,否则Make将失败。 确保已安装gpg,否则将导致失败

构建步骤-

export SPARK_HOME=/Users/<path>/spark-2.1.0-hadoop2.7/ 
git clone https://github.com/apache/incubator-toree.git 
cd incubator-toree 
make clean release APACHE_SPARK_VERSION=2.1.0 
pip install --upgrade ./dist/toree-pip/toree-0.2.0.dev1.tar.gz 
pip freeze |grep toree 
jupyter toree install --spark_home=$SPARK_HOME
export SPARK\u HOME=/Users//SPARK-2.1.0-hadoop2.7/
git克隆https://github.com/apache/incubator-toree.git 
cd培养箱
发布APACHE_SPARK_版本=2.1.0
pip安装--升级。/dist/toree-pip/toree-0.2.0.dev1.tar.gz
皮普·弗雷泽|格雷普·托雷
jupyter toree安装--spark_home=$spark_home
========================================================================

启动笔记本电脑-
SPARK_OPTS='--master=local[4]'jupyter笔记本电脑

对我来说,scala版本2.11和2.12都可以工作,降级到2.10.3可以工作

你的SPARK和scala版本是什么?我最初的猜测是scala版本不匹配。@JustinPihony谢谢你的帮助,我的scala版本是2.10.5,spark版本是1.3.0,你能告诉我如何判断scala是否匹配吗?链接到Jira问题:
export SPARK_HOME=/Users/<path>/spark-2.1.0-hadoop2.7/ 
git clone https://github.com/apache/incubator-toree.git 
cd incubator-toree 
make clean release APACHE_SPARK_VERSION=2.1.0 
pip install --upgrade ./dist/toree-pip/toree-0.2.0.dev1.tar.gz 
pip freeze |grep toree 
jupyter toree install --spark_home=$SPARK_HOME