web-dev-qa-db-ja.com

(run-main-0)Java.lang.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.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)

誰が私が何をすべきか知っていますか?

23
zhang

Scala-library-2.11 jarを使用したときに同じエラーに遭遇しましたが、scala-library-2.10 jarに置き換えました。それはうまく動作します

20
Reddevil

おそらく、互換性のないバージョンのScalaを使用していることが原因です。 Scala 2.11から2.10にダウングレードしたとき、1つのパッケージバージョンを変更するのを忘れたため(1つのパッケージが2.11を使用し、残りは2.10)、同じエラーが発生しました。

注:この問題は、IntelliJを使用した場合にのみ発生しました。

8
Guido

エラーが発生している場合、Spark 2.1およびScala 2.11でJupiterノートブックを実行できないため、以下のように動作させることができました。 Jupiterとtoreeをインストールした

Pre-req-Dockerが実行されていることを確認しますgpgがインストールされていることを確認してください。インストールされていない場合、Makeは失敗します。

ビルド手順-

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

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

ノートブックを起動するには-SPARK_OPTS = '-master = local [4]' jupyterノートブック

7
Rahul J

私はこれらのバージョンを使用しましたが、今ではすべてが機能します。

    <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>
6
P.C.

使用しているscalaバージョンがプリコンパイルされたsparkバージョン。 enter image description here

2
Zhi Zheng

この問題は、バージョン2.11.8

現時点では、ダウングレードは不要です。更新するだけでscala-library version to 2.12.

1
Andrii Abramov

私はまったく同じ問題を抱えており、ダウングレードscala 2.11.8から2.10.6。

0
Ben Liao

同じ問題を抱えていますが、どこでscala-libraryバージョンを変更できますか?

インストール(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

したがって、ノートブックから始めると、別のscalaバージョンを使用していることがわかります。しかし、私は何もインストールしていません。 スクリーンショット+ scalaバージョン

spark jarsフォルダーにscala-library-2.11.8.jarファイルが含まれています。しかし、どのようにしてtorrreeにその(または別の)ファイルをscalaに使用するように指示します。

0
Willem Bressers