为 Spark 错误注册 Spyder
Register Spyder for Spark error
我尝试设置一个简单的独立 Spark 集群,
与 Spyder 的接口。在 spark 邮件列表和其他地方已经有几条评论,给出了指导方针 how to do this.
但这不适用于我的设置。将脚本提交到 spark-submit
后,出现以下错误:
File "/home/philip/Programme/anaconda2/bin/spyder.py", line 4, in <module> import spyder.app.start
ImportError: No module named app.start
据我了解,这与 $PYTHONPATH
变量有关。我已经更改了 py4j 模块的路径(在当前的 spark 版本 2.1.0 中,它是 py4j-0.10.4
而不是列出的路径。
我的 .bashrc
文件目前看起来是这样的:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
export SPARK_HOME=~/Programme/spark-2.1.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
export PATH=$PATHusr/bin/spyder
export PYTHONPATH=${PYTHONPATH}home/philip/Programme/anaconda2/bin/
# added by Anaconda2 4.3.0 installer
export PATH=/home/philip/Programme/anaconda2/bin:$PATH
如果有人遇到过类似的问题,不胜感激!
我遇到了类似的错误。我的原因是我没有设置 PYTHONPATH
。您应该尝试将此设置为您安装的 python。
所以而不是:
export PYTHONPATH=${PYTHONPATH}home/philip/Programme/anaconda2/bin/
尝试
export PYTHONPATH=/home/philip/Programme/anaconda2/bin/python2.7
我能够通过在 spyder 编辑器中使用以下代码来设置我的 spyder window:
import os
import sys
if 'SPARK_HOME' not in os.environ:
os.environ['SPARK_HOME']='/home/ramius/spark-2.1.1-bin-hadoop2.7'
SPARK_HOME=os.environ['SPARK_HOME']
if 'PYTHONPATH' not in os.environ:
os.environ['PYTHONPATH']='/home/ramius/anaconda2/bin/python2.7'
PYTHONPATH=os.environ['PYTHONPATH']
sys.path.insert(0,os.path.join(SPARK_HOME,"python"))
sys.path.insert(0,os.path.join(SPARK_HOME,"python","lib"))
sys.path.insert(0,os.path.join(SPARK_HOME,"python","lib","pyspark.zip"))
sys.path.insert(0,os.path.join(SPARK_HOME,"python","lib","py4j-0.10.4-src.zip"))
from pyspark import SparkContext
希望对您有所帮助。
我尝试设置一个简单的独立 Spark 集群, 与 Spyder 的接口。在 spark 邮件列表和其他地方已经有几条评论,给出了指导方针 how to do this.
但这不适用于我的设置。将脚本提交到 spark-submit
后,出现以下错误:
File "/home/philip/Programme/anaconda2/bin/spyder.py", line 4, in <module> import spyder.app.start
ImportError: No module named app.start
据我了解,这与 $PYTHONPATH
变量有关。我已经更改了 py4j 模块的路径(在当前的 spark 版本 2.1.0 中,它是 py4j-0.10.4
而不是列出的路径。
我的 .bashrc
文件目前看起来是这样的:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
export SPARK_HOME=~/Programme/spark-2.1.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
export PATH=$PATHusr/bin/spyder
export PYTHONPATH=${PYTHONPATH}home/philip/Programme/anaconda2/bin/
# added by Anaconda2 4.3.0 installer
export PATH=/home/philip/Programme/anaconda2/bin:$PATH
如果有人遇到过类似的问题,不胜感激!
我遇到了类似的错误。我的原因是我没有设置 PYTHONPATH
。您应该尝试将此设置为您安装的 python。
所以而不是:
export PYTHONPATH=${PYTHONPATH}home/philip/Programme/anaconda2/bin/
尝试
export PYTHONPATH=/home/philip/Programme/anaconda2/bin/python2.7
我能够通过在 spyder 编辑器中使用以下代码来设置我的 spyder window:
import os
import sys
if 'SPARK_HOME' not in os.environ:
os.environ['SPARK_HOME']='/home/ramius/spark-2.1.1-bin-hadoop2.7'
SPARK_HOME=os.environ['SPARK_HOME']
if 'PYTHONPATH' not in os.environ:
os.environ['PYTHONPATH']='/home/ramius/anaconda2/bin/python2.7'
PYTHONPATH=os.environ['PYTHONPATH']
sys.path.insert(0,os.path.join(SPARK_HOME,"python"))
sys.path.insert(0,os.path.join(SPARK_HOME,"python","lib"))
sys.path.insert(0,os.path.join(SPARK_HOME,"python","lib","pyspark.zip"))
sys.path.insert(0,os.path.join(SPARK_HOME,"python","lib","py4j-0.10.4-src.zip"))
from pyspark import SparkContext
希望对您有所帮助。