2017-02-16 142 views
0

我在我的OS X上預裝了Hadoop並安裝了Spark,並且集成了PySpark和Jupyter Notebook。基本上我在我的終端Jupyter筆記本中彈出「pyspark」。一切正常。jupyter筆記本干擾火花提交

但是,當我用火花SUMIT使用以下命令:

spark-submit --master local[*] --total-executor-cores 1 --driver-memory 2g server.py 

我得到了一個錯誤:

jupyter: '/Users/XXX/some_path/server.py' is not a Jupyter command 

似乎Jupyter與火花干擾SUMIT。這是我的bash_profile:

export PATH="/Users/XXX/anaconda/bin:$PATH" 
export PATH="/Users/XXX/Spark/spark-2.0.2-bin-hadoop2.6/bin:$PATH" 
export SPARK_HOME="/Users/XXX/Spark/spark-2.0.2-bin-hadoop2.6" 
export PYSPARK_PYTHON=/Users/XXX/anaconda/bin/python2.7 
export PYSPARK_DRIVER_PYTHON=/Users/XXX/anaconda/bin/jupyter 
export PYSPARK_DRIVER_PYTHON_OPTS='notebook' 

我知道這一定是我的環境變量的問題。當我刪除最後兩行時它的工作。我跟着這個問題的答案Submitting Python Application with Apache Spark Submit,他們都沒有在我的情況下工作。也有人說,在提交之前未設置PYSPARK_DRIVER_PYTHONPYSPARK_DRIVER_PYTHON_OPTS將工作。

當我輸入pyspark並且我也可以使用​​時,有沒有更好的方法來設置我的環境變量,以便我可以使用Jupyer Notebook?

任何想法都會有幫助。

回答

0

當然,你可以與內容創建腳本:裏面某處

$!/usr/bin/bash 
export PYSPARK_DRIVER_PYTHON=/Users/XXX/anaconda/bin/jupyter 
export PYSPARK_DRIVER_PYTHON_OPTS='notebook' 
exec pyspark 

並將其命名爲pyspark-jupyter,將您的bash的$PATH和你希望它應該工作。

+0

如果是這樣,我應該在我的bash_profile中刪除'export PYSPARK_DRIVER_PYTHON =/Users/XXX/anaconda/bin/jupyter export PYSPARK_DRIVER_PYTHON_OPTS ='notebook''? –

+0

是的,只有在jupyter啓動時才需要它們。 – Mariusz