2017-10-17 6 views
0

AWSでセットアップしていないEMRを使用しています。sparkが使用しているpythonインスタンスの中にpysparkモジュールがありません

私はPythonインタプリタの火花が使用していると私は私たちの火花-submitコマンドを実行すると、私の.bashrcに、私は私が道に印刷するsys.executable使用していた次のセットアップexport PYSPARK_PYTHON=/mnt/anaconda/bin/python

を持っているかを理解しようとしていますPythonインタプリタとこれは実際にそのインタプリタを使用しています。

>>> import pyspark 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named pyspark 

ここで何が起こっている:私はそのフォルダに特異的に行くとき

しかし、私が手​​を試し、その後./pythonでのPythonのインスタンスを起動すると?この通訳は、pysparkモジュールをインストールしてはいけませんか?

+0

あなたの 'PYTHONPATH'環境変数は何ですか? –

+0

@JohnGordon ':/ mnt/anaconda/bin' – timbram

+1

Pythonモジュールが' bin'ディレクトリにインストールされることはほとんどないようです。どのように/どこに 'PYTHONPATH'が設定されていますか? –

答えて

0

spark-submitを呼び出すと、それ自身のpythonフォルダとpy4jライブラリがPYTHONPATHに追加されます。彼らはsparkがインストールされているフォルダに住んでいる、彼らはあなたが使用しているPythonのサイトパッケージに直接インストールされていません。私はPythonパスプリントアウトpysparkたとえば、:

  • /ホーム/ライアン/アプリケーション/火花/パイソン/ libに:

    $ pyspark 
    Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2 
    Type "help", "copyright", "credits" or "license" for more information. 
    17/10/17 15:34:04 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
    17/10/17 15:34:04 WARN Utils: Your hostname, rwidmaier resolves to a loopback address: 127.0.0.1; using 10.4.248.126 instead (on interface em1) 
    17/10/17 15:34:04 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address 
    /home/rwidmaier/apps/spark/python/pyspark/context.py:195: UserWarning: Support for Python 2.6 is deprecated as of Spark 2.0.0 
        warnings.warn("Support for Python 2.6 is deprecated as of Spark 2.0.0") 
    17/10/17 15:34:09 WARN ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 1.2.0 
    17/10/17 15:34:09 WARN ObjectStore: Failed to get database default, returning NoSuchObjectException 
    17/10/17 15:34:09 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException 
    Welcome to 
         ____    __ 
        /__/__ ___ _____/ /__ 
        _\ \/ _ \/ _ `/ __/ '_/ 
        /__/.__/\_,_/_/ /_/\_\ version 2.2.0 
         /_/ 
    
    Using Python version 2.6.6 (r266:84292, Aug 18 2016 15:13:37) 
    SparkSession available as 'spark'. 
    >>> import sys 
    >>> from pprint import pprint 
    >>> pprint(sys.path) 
    ['', 
    u'/tmp/spark-0a08efa7-714a-498b-b5e9-bba48684d52d/userFiles-52012e25-d7af-4599-a214-9637141ed4ec', 
    '/usr/lib64/python2.6/site-packages/deluge-1.3.11-py2.6-linux-x86_64.egg', 
    '/home/ryan/apps/spark/python/lib/py4j-0.10.4-src.zip', 
    '/home/ryan/apps/spark/python', 
    '/usr/lib64/python26.zip', 
    '/usr/lib64/python2.6', 
    '/usr/lib64/python2.6/plat-linux2', 
    '/usr/lib64/python2.6/lib-tk', 
    '/usr/lib64/python2.6/lib-old', 
    '/usr/lib64/python2.6/lib-dynload', 
    '/usr/lib64/python2.6/site-packages', 
    '/usr/lib64/python2.6/site-packages/gst-0.10', 
    '/usr/lib64/python2.6/site-packages/gtk-2.0', 
    '/usr/lib64/python2.6/site-packages/webkit-1.0', 
    '/usr/lib/python2.6/site-packages'] 
    

    をあなたはそれを手動で追加したことをリストに表示することができます/py4j-0.10.4-src.zip

  • /ホーム/ライアン/アプリケーション/火花/ pythonの

インタプリタが常に正しいライブラリと設定されていることを確認するために、あなただけ指すようにPYSPARK_PYTHONを設定する必要がありますPythonのインストールするには、あなたはリPythonを直接実行するのではなく、 "pyspark"を実行してください。または、ドライバを提供したい場合は、spark-submitを使用することもできます。

関連する問題