在Spark上使用pySpark shell很麻烦,只能在命令行中输入。除了可以用spark submit提交应用外,也可以用jupyter notebook。
运行ipython
首先配置环境变量
在/etc/profile中加入如下两行:
export PYSPARK_SUBMIT_ARGS="--master spark://192.168.175.128:7070 pyspark-shell"
export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/build:$PYTHONPATH
如果报py4j错误,可以再加上一行:
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH
打开notebook
$ jupyter notebook
初始化 pyspark
import os
execfile(os.path.join(os.environ["SPARK_HOME"], 'python/pyspark/shell.py'))
sc变量应该就可以得到了
In [2]: sc
Out[2]: <pyspark.context.SparkContext at 0x10a982b10>
另外的方法
设置环境变量
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS=notebook
然后可以直接运行
pyspark
notebook自动打开,sc变量可以自动获得