pg2*_*455 25 python ipython apache-spark pyspark
我想加载IPython shell(不是IPython笔记本),我可以通过命令行使用PySpark.那可能吗?我安装了Spark-1.4.1.
zer*_*323 39
如果使用Spark <1.2,则可以bin/pyspark使用环境变量执行IPYTHON=1.
IPYTHON=1 /path/to/bin/pyspark
Run Code Online (Sandbox Code Playgroud)
要么
export IPYTHON=1
/path/to/bin/pyspark
Run Code Online (Sandbox Code Playgroud)
虽然上面仍然可以使用Spark 1.2及以上推荐的方法为这些版本设置Python环境 PYSPARK_DRIVER_PYTHON
PYSPARK_DRIVER_PYTHON=ipython /path/to/bin/pyspark
Run Code Online (Sandbox Code Playgroud)
要么
export PYSPARK_DRIVER_PYTHON=ipython
/path/to/bin/pyspark
Run Code Online (Sandbox Code Playgroud)
您可以替换ipython为您选择的解释器的路径.
我使用ptpython(1),它不仅提供ipython功能,还提供你选择的vi(1)或emacs(1)键绑定; 它还提供动态代码弹出感/智能,这在CLI上进行Ad-Hoc SPARK工作时非常有用.
这里是我的六 -启用ptpython会议样子,注意到的VI(INSERT)模式在screehshot的底部,以及在IPython的风格提示表明这些ptpython能力已经选择(更多关于如何选择他们在片刻):
要完成所有这些,请执行以下简单步骤:
user@linux$ pip3 install ptpython # Everything here assumes Python3
user@linux$ vi ${SPARK_HOME}/conf/spark-env.sh
# Comment-out/disable the following two lines. This is necessary because
# they take precedence over any UNIX environment settings for them:
# PYSPARK_PYTHON=/path/to/python
# PYSPARK_DRIVER_PYTHON=/path/to/python
user@linux$ vi ${HOME}/.profile # Or whatever your login RC-file is.
# Add these two lines:
export PYSPARK_PYTHON=python3 # Fully-Qualify this if necessary. (python3)
export PYSPARK_DRIVER_PYTHON=ptpython3 # Fully-Qualify this if necessary. (ptpython3)
user@linux$ . ${HOME}/.profile # Source the RC file.
user@linux$ pyspark
# You are now running pyspark(1) within ptpython; a code pop-up/interactive
# shell; with your choice of vi(1) or emacs(1) key-bindings; and
# your choice of ipython functionality or not.
Run Code Online (Sandbox Code Playgroud)
要选择你的pypython偏好(并且有很多),只需在ptpython会话中按F2,然后选择你想要的任何选项.
结束注意:如果您要提交Python Spark应用程序(而不是通过CLI与pyspark(1)交互,如上所示),只需在Python中以编程方式设置PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON,如下所示:
os.environ['PYSPARK_PYTHON'] = 'python3'
os.environ['PYSPARK_DRIVER_PYTHON'] = 'python3' # Not 'ptpython3' in this case.
Run Code Online (Sandbox Code Playgroud)
我希望这个答案和设置有用.
使用spark 3.0.1和python 3.7.7进行测试(安装了ipython/jupyter)
要使用 IPython 启动 pyspark:
$ PYSPARK_DRIVER_PYTHON=ipython pyspark
要使用 jupyter Notebook 启动 pyspark:
$ PYSPARK_DRIVER_PYTHON=jupyter PYSPARK_DRIVER_PYTHON_OPTS=notebook pyspark
小智 5
根据官方Github,IPYTHON=1在Spark 2.0+中不可用,请使用PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON代替。
https://github.com/apache/spark/blob/master/bin/pyspark
小智 5
如果 spark 版本 >= 2.0 并且以下配置可以添加到 .bashrc
export PYSPARK_PYTHON=/data/venv/your_env/bin/python
export PYSPARK_DRIVER_PYTHON=/data/venv/your_env/bin/ipython
Run Code Online (Sandbox Code Playgroud)