我在OS X上预先安装了Hadoop并安装了Spark,并与Jupyter Notebook集成了PySpark。基本上,我会在终端Jupyter Notebook弹出窗口中输入“ pyspark”。一切正常。
但是当我通过以下命令使用spark-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会干扰火花放电。这是我的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'
我知道这一定是我的环境变量的问题。当我删除最后两行时,它起作用了。我按照这个问题的答案使用Apache Spark Submit提交Python应用程序,在我的情况下,这些方法都无效。也有人说未设置PYSPARK_DRIVER_PYTHON
,PYSPARK_DRIVER_PYTHON_OPTS
然后再提交就可以了。
是否有更好的方法设置环境变量,以便在键入时也可以使用Jupyer Notebookpyspark
并可以使用spark-submit
?
任何想法都会有所帮助。
当然,您可以创建包含以下内容的脚本:
$!/usr/bin/bash
export PYSPARK_DRIVER_PYTHON=/Users/XXX/anaconda/bin/jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'
exec pyspark
并将其命名为pyspark-jupyter
bash内的某个位置$PATH
,它应该可以按预期工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句