【问题标题】:Submitting Python Application with Apache Spark Submit使用 Apache Spark 提交 Python 应用程序
【发布时间】:2016-09-03 00:15:08
【问题描述】:

我正在尝试遵循 Apache Spark 文档站点上的示例:https://spark.apache.org/docs/2.0.0-preview/submitting-applications.html

我启动了一个 Spark 独立集群并希望运行示例 Python 应用程序。我在我的 spark-2.0.0-bin-hadoop2.7 目录中并运行了以下命令

./bin/spark-submit \
--master spark://207.184.161.138:7077 \
examples/src/main/python/pi.py \
1000

但是,我得到了错误

jupyter: '/Users/MyName/spark-2.0.0-bin- \
hadoop2.7/examples/src/main/python/pi.py' is not a Jupyter command

这就是我的 bash_profile 的样子

#setting path for Spark
export SPARK_PATH=~/spark-2.0.0-bin-hadoop2.7
export PYSPARK_DRIVER_PYTHON="jupyter"
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"
alias snotebook='$SPARK_PATH/bin/pyspark --master local[2]'

我做错了什么?

【问题讨论】:

  • 在提交之前取消设置 PYSPARK_DRIVER_PYTHONPYSPARK_DRIVER_PYTHON_OPTS

标签: python apache-spark pyspark


【解决方案1】:

PYSPARK_DRIVER_PYTHONPYSPARK_DRIVER_PYTHON_OPTS 用于在打开 pyspark shell 时运行 ipython/jupyter shell(更多信息请参见How to load IPython shell with PySpark)。

你可以这样设置:

alias snotebook='PYSPARK_DRIVER_PYTHON=jupyter PYSPARK_DRIVER_PYTHON_OPTS=notebook $SPARK_PATH/bin/pyspark --master local[2]'

这样提交时不会干扰pyspark

【讨论】:

    【解决方案2】:

    在 spark-submit 命令前添加PYSPARK_DRIVER_PYTHON=ipython

    例子:

    PYSPARK_DRIVER_PYTHON=ipython ./bin/spark-submit \ 
    /home/SimpleApp.py
    

    【讨论】:

    • 不错。唯一的问题是如果我想将参数传递给 python 脚本。出于某种原因,Ipython 正在干预,认为他们是为了它。
    猜你喜欢
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    相关资源
    最近更新 更多