如何配置PySpark启动时关联Jupyter Notebook而非控制台交互Shell?
如何让PySpark命令直接启动Jupyter Notebook
当然可以!其实有几种简单的方法能帮你把PySpark和Jupyter Notebook关联起来,解决控制台写长代码不便的问题。下面是两种最常用的实现方式:
方法一:设置永久环境变量(一劳永逸)
如果你希望每次执行pyspark命令都自动打开Jupyter Notebook,可以修改你的shell配置文件:
- 打开终端,编辑你的shell配置文件(比如bash用户编辑
~/.bashrc,zsh用户编辑~/.zshrc) - 在文件末尾添加以下两行内容:
export PYSPARK_DRIVER_PYTHON=jupyter export PYSPARK_DRIVER_PYTHON_OPTS="notebook" - 保存文件后,执行以下命令让配置生效:
source ~/.bashrc # 对应bash用户 # 或者 source ~/.zshrc # 对应zsh用户
之后再执行pyspark命令,就会直接启动Jupyter Notebook了,而且Notebook里已经自动初始化好了sc(SparkContext)和spark(SparkSession),可以直接使用。
方法二:单次启动时指定参数(临时生效)
如果只是偶尔需要用Notebook启动PySpark,不想修改永久配置,可以直接在执行pyspark时添加参数:
pyspark --driver-python jupyter --driver-python-opts notebook
执行这条命令后,同样会直接打开Jupyter Notebook,这次会话结束后,下次执行pyspark还是会默认启动控制台Shell。
小提示
启动Notebook后,你可以直接在代码单元格中编写PySpark代码,不需要手动初始化SparkContext或SparkSession——PySpark已经帮你完成了这一步,直接调用sc或者spark对象即可。
内容的提问来源于stack exchange,提问作者Pranay Aryal
相关产品推荐
相关产品推荐

