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>