【问题标题】:jupyter notebook interferes with spark submitjupyter notebook 干扰了 spark 提交
【发布时间】:2017-02-16 14:38:44
【问题描述】:

我在我的 OS X 上安装了带有 Hadoop 的 Spark,并将 PySpark 与 Jupyter Notebook 集成。基本上我在弹出的终端 Jupyter Notebook 中键入“pyspark”。一切正常。

但是当我通过以下命令使用 spark-smit 时:

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 干扰了 spark-sumit。这是我的 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'

我知道这一定是我的环境变量的问题。当我删除最后两行时,它可以工作。我按照这个问题的答案Submitting Python Application with Apache Spark Submit,在我的情况下没有一个工作。也有人说在提交之前取消设置PYSPARK_DRIVER_PYTHONPYSPARK_DRIVER_PYTHON_OPTS 会起作用。

有没有更好的方法来设置我的环境变量,这样我在输入pyspark 时可以使用Jupyer Notebook,也可以使用spark-submit

任何想法都会有所帮助。

【问题讨论】:

    标签: python apache-spark pyspark


    【解决方案1】:

    当然,您可以创建包含内容的脚本:

    $!/usr/bin/bash
    export PYSPARK_DRIVER_PYTHON=/Users/XXX/anaconda/bin/jupyter
    export PYSPARK_DRIVER_PYTHON_OPTS='notebook'
    exec pyspark
    

    并将其命名为 pyspark-jupyter,放置在 bash 的 $PATH 中某处,它应该可以按预期工作。

    【讨论】:

    • 如果是这样,我应该在我的 bash_profile 中删除 export PYSPARK_DRIVER_PYTHON=/Users/XXX/anaconda/bin/jupyter export PYSPARK_DRIVER_PYTHON_OPTS='notebook' 吗?
    • 是的,它们仅在 jupyter 初始化期间需要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多