从python代码设置环境变量以获取火花


问题内容

我已经在Mac OS中设置了环境变量以运行 pyspark

export SPARK_HOME=/Users/devesh/Downloads/spark-1.5.1-bin-hadoop2.6

export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH

export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH

以上几行对我有用。

我正在尝试使用以下几行python代码在python中复制以上命令

os.environ['SPARK_HOME']="/Users/devesh/Downloads/spark-1.5.1-bin-hadoop2.6"
spark_home=os.environ.get('SPARK_HOME',None)

sys.path.append("/Users/devesh/Downloads/spark-1.5.1-bin-hadoop2.6/python/")

sys.path.insert(0,os.path.join(spark_home,'py4j-0.8.2.1-src.zip'))

但它不起作用。请告诉我我做错了什么?


问题答案:

您的python代码的最后一行:

sys.path.insert(0,os.path.join(spark_home,'py4j-0.8.2.1-src.zip'))

与您的Shell代码不一致。您可以将其更改为:

sys.path.insert(0,os.path.join(spark_home,'python','lib','py4j-0.8.2.1-src.zip'))