我正在尝试在MacOS上配置apache-spark。所有在线指南要求下载spark tar并设置一些env变量或使用brew install apache-spark
然后设置一些env变量。
现在我使用brew install apache-spark
安装了apache-spark。
我在终端运行pyspark
,我得到一个python提示符,表明安装成功。
现在,当我尝试将import pyspark
放入我的python文件时,我面临错误ImportError: No module named pyspark
我无法理解的最奇怪的事情是如何启动pyspark的REPL并且无法将模块导入python代码。
我也尝试过pip install pyspark
,但它也无法识别模块。
除了用自制软件安装apache-spark之外,我还设置了以下env变量。
if which java > /dev/null; then export JAVA_HOME=$(/usr/libexec/java_home); fi
if which pyspark > /dev/null; then
export SPARK_HOME="/usr/local/Cellar/apache-spark/2.1.0/libexec/"
export PYSPARK_SUBMIT_ARGS="--master local[2]"
fi
请在我的本地设备上运行pyspark代码,建议我的设置缺少什么。
答案 0 :(得分:5)
你的python中不包含pyspark模块
试试这个
import os
import sys
os.environ['SPARK_HOME'] = "/usr/local/Cellar/apache-spark/2.1.0/libexec/"
sys.path.append("/usr/local/Cellar/apache-spark/2.1.0/libexec/python")
sys.path.append("/usr/local/Cellar/apache-spark/2.1.0/libexec/python/lib/py4j-0.10.4-src.zip")
try:
from pyspark import SparkContext
from pyspark import SparkConf
except ImportError as e:
print ("error importing spark modules", e)
sys.exit(1)
sc = SparkContext('local[*]','PySpark')
如果您不想要,请将它们包含在您的系统PATH
中。并且不要忘记包含python路径。
export SPARK_HOME=/usr/local/Cellar/apache-spark/2.1.0/libexec/
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
export PATH=$SPARK_HOME/python:$PATH
答案 1 :(得分:1)
sudo ln -s $SPARK_HOME/python/pyspark /usr/local/lib/python2.7/site-packages
Python将最后从/ path /到/ your / python / site-packages 读取模块