3

mysystem の他のソフトウェアでこの問題に直面したことはありません。ウィンドウターミナル/コマンドプロンプトとGit-Bashですべてをインストールして実行できます

最近、Sparkの学習を始めました。すべての JAVA_HOME、SCALA_HOME、hadoop winutils ファイルを設定する Spark をインストールしました。Spark-shell と pyspark-shell は両方とも、コマンド プロンプト/ウィンドウ ターミナル、および pyspark lib を介した Jupyter で完璧に動作しています。

spark-3.0.1-bin-hadoop2.7
python 3.8.3
Windows 10 
git version 2.29.2.windows.2

しかし、Git Bashの場合はわかりません(管理者権限で試しました)。spark-shell または pySpark を実行しようとすると、次のエラーが発生します。

Error: Could not find or load main class org.apache.spark.launcher.Main
/c/Spark/spark-3.0.1-bin-hadoop2.7/bin/spark-class: line 96: CMD: bad array subscript

解決策を検索したところ、.bashrc または spark-env-sh で環境変数を設定していることがわかりました。pySpark シェルに次のように設定します。

   export JAVA_HOME='/c/Program Files/Java/jdk1.8.0_111'
   export SPARK_HOME='/c/Spark/spark-3.0.1-bin-hadoop2.7'
   export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
   export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.9-src.zip:$PYTHONPATH
   export PYSPARK_PYTHON='C:/Users/raman/anaconda3/python'
   export PYSPARK_DRIVER_PYTHON='C:/Users/raman/anaconda3/python'

それもうまくいきませんでした。spark-class ファイルでエラーをトレースバックすると。そのとおりです: 96行目

私の質問、

  1. このエラーの理由は何ですか?どうすれば解決できますか?
  2. Git Bash for Windows で spark-shell をセットアップするための明確に定義された手順はありますか (ネット上でしっかりしたものを見つけることができません)?

ありがとう。

4

3 に答える 3

1

here で説明したように、これは、 java -cpSpark の起動時にスクリプトで使用されるクラスパス パラメーターに依存します。

上記のスクリプトが#!/bin/shまたはで始まる場合は#!/bin/bash、それに a-xを追加します (例: #!/bin/bash -x)

これにより、スクリプトは実行されたすべての行を強制的に表示し、${#CMD[@]}.

于 2020-12-30T00:54:09.543 に答える