126

これは、別のフォーラムでの他の人の質問のコピーであり、回答がなかったので、同じ問題を抱えているので、ここで再質問すると思いました. ( http://geekple.com/blogs/feeds/Xgzu7/posts/351703064084736を参照)

マシンに Spark が正しくインストールされており、Python インタープリターとして ./bin/pyspark を使用すると、エラーなしで pyspark モジュールを使用して Python プログラムを実行できます。

ただし、通常の Python シェルを実行しようとすると、pyspark モジュールをインポートしようとすると、次のエラーが発生します。

from pyspark import SparkContext

そしてそれは言います

"No module named pyspark".

どうすればこれを修正できますか? Python を pyspark ヘッダー/ライブラリ/などにポイントするために設定する必要がある環境変数はありますか? Spark インストールが /spark/ の場合、どの pyspark パスを含める必要がありますか? または、pyspark プログラムは pyspark インタープリターからのみ実行できますか?

4

20 に答える 20

54

このようなエラーが表示される場合:

ImportError: py4j.java_gateway という名前のモジュールがありません

$SPARK_HOME/python/build を PYTHONPATH に追加してください:

export SPARK_HOME=/Users/pzhang/apps/spark-1.1.0-bin-hadoop2.4
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH
于 2014-12-05T09:23:01.217 に答える
23

SPARK パスと Py4j パスをエクスポートすると、動作するようになりました。

export SPARK_HOME=/usr/local/Cellar/apache-spark/1.5.1
export PYTHONPATH=$SPARK_HOME/libexec/python:$SPARK_HOME/libexec/python/build:$PYTHONPATH
PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH 
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH

したがって、Python シェルを起動するたびにこれらを入力したくない場合は、.bashrcファイルに追加することをお勧めします。

于 2015-11-04T04:22:35.457 に答える
23

py ファイルを次のように実行しないでください:python filename.py 代わりに次を使用します。spark-submit filename.py

ソース: https://spark.apache.org/docs/latest/submitting-applications.html

于 2015-10-22T04:33:55.313 に答える
12

を取り除くにはImportError: No module named py4j.java_gateway、次の行を追加する必要があります。

import os
import sys


os.environ['SPARK_HOME'] = "D:\python\spark-1.4.1-bin-hadoop2.4"


sys.path.append("D:\python\spark-1.4.1-bin-hadoop2.4\python")
sys.path.append("D:\python\spark-1.4.1-bin-hadoop2.4\python\lib\py4j-0.8.2.1-src.zip")

try:
    from pyspark import SparkContext
    from pyspark import SparkConf

    print ("success")

except ImportError as e:
    print ("error importing spark modules", e)
    sys.exit(1)
于 2016-09-11T23:23:10.733 に答える
8

Windows 10では、次のことがうまくいきました。Settings > Edit environment variables for your accountを使用して、次の環境変数を追加しました。

SPARK_HOME=C:\Programming\spark-2.0.1-bin-hadoop2.7
PYTHONPATH=%SPARK_HOME%\python;%PYTHONPATH%

(「C:\Programming\...」をsparkをインストールしたフォルダに変更します)

于 2016-11-08T13:41:25.463 に答える
5

cloudera yum パッケージからインストールされた CentOS VM で、spark クラスターを実行しています。

pyspark を実行するには、次の変数を設定する必要がありました。

export SPARK_HOME=/usr/lib/spark;
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH
于 2017-04-24T08:49:23.513 に答える
2

DSE (DataStax Cassandra & Spark) の場合 PYTHONPATH に以下の場所を追加する必要があります

export PYTHONPATH=/usr/share/dse/resources/spark/python:$PYTHONPATH

次に、dse pyspark を使用してパス内のモジュールを取得します。

dse pyspark
于 2016-05-11T15:05:13.473 に答える