PySpark要求Python在driver和worker的python的minor版本号相同。它通常会使用PATH中的python,而也可以使用PYSPARK_PYTHON指定python版本
$ PYSPARK_PYTHON=python3.4 bin/pyspark
$ PYSPARK_PYTHON=/opt/pypy-2.5/bin/pypy bin/spark-submit examples/src/main/python/pi.py
配置spark的python环境
spark集中多种语言,可以通过python,java,scala运行,如果以spark为中心点考虑,配置它的python环境,则需要配置/opt/modules/spark-2.1.1-bin-hadoop2.6/conf/spark-env.sh
export PYSPARK_PYTHON=/opt/anaconda2/bin/python
export PYSPARK_DRIVER_PYTHON=/opt/anaconda2/bin/python
配置spark与Jupyter Notebook
我们也可以通过启动pyspark,来启动Jupyter Notebook,修改spark-env.sh配置
export PYSPARK_DRIVER_PYTHON=/opt/anaconda2/bin/python
# Setup env variable for Jupyter + Pyspark
export PYSPARK_DRIVER_PYTHON_OPTS="notebook --no-browser"
此时可以通过pyspark启动Jupyter Notebook
$SPARK_HOME/bin/pyspark
IPython
IPython是Python用户爱好的增强版Python Shell,能够提供自动补全等功能。
只需要将IPYTHON的值设置为1,就可以使用IPython
IPYTHON=1 ./bin/pyspark
要使用IPython Notebook,也就是Web版的IPython,可以运行
IPYTHON_OPTS="notebook" ./bin/pyspark
IPYTHON和IPYTHON_OPTS自Spark 2.0+开始被移除。