scala apache-spark sbt nosuchmethoderror

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



apache-spark sbt (8)

Compruebe si la versión de scala que está utilizando corresponde a la versión de chispa precompilada.

Tengo un problema cuando usé sbt para ejecutar un trabajo de chispa, he terminado de compilar, pero cuando ejecuto el comando run , tengo el problema a continuación

[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)

Alguien sabe que debería hacer?


El problema podría reproducirse con la versión 2.11.8 .

Por el momento, no se requiere una rebaja. Simplemente actualice la versión de scala-library a 2.12.0 .


Me encontré con el mismo error cuando utilicé scala-library-2.11 jar Pero cuando lo reemplacé con scala-library-2.10 jar. Funciona bien


Probablemente sea causado por el uso de versiones incompatibles de Scala. Cuando bajé de Scala 2.11 a 2.10, olvidé modificar una versión del paquete (por lo que un paquete usó 2.11, el resto 2.10), lo que produjo el mismo error.

Nota: Solo tuve este problema cuando uso IntelliJ.


Si obtiene el error y aquí porque no puede ejecutar los portátiles Jupiter con Spark 2.1 y Scala 2.11 a continuación, es cómo pude hacerlo funcionar. Asume que instaló Júpiter y toree

Prerrequisito : asegúrese de que Docker se está ejecutando else Make produce errores. Asegúrate de que gpg esté instalado en caso de que Make falle.

Construir pasos -

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

=============================================== ======================

Para iniciar el notebook : SPARK_OPTS = ''- master = local [4]'' jupyter notebook


Tengo el mismo problema, pero ¿dónde modifico la versión scala-library?

Instalación (en Ubuntu 16.04):

sudo apt-get install oracle-java8-installer wget http://d3kbcqa49mib13.cloudfront.net/spark-2.0.2-bin-hadoop2.7.tgz && tar xvf spark-2.0.2-bin-hadoop2.7.tgz pip install toree && jupyter toree install

Entonces, cuando empiezo con un cuaderno, me dice que utilizo una versión scala diferente. Pero no he instalado nada más. captura de pantalla + versión scala

La carpeta My spark jars contiene un archivo scala-library-2.11.8.jar . Pero, ¿cómo decirle a Torree que use ese (u otro) archivo para Scala?


Tengo exactamente el mismo problema y lo solucioné degradando la escala de 2.11.8 a 2.10.6.


Usé estas versiones y todo funciona ahora.

<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>