2017-02-16 100 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