包依赖问题解决
方法一:使用findspark库自动识别spark依赖包
1. 安装findspark
pip install findspark
2. 使用findspark初始化pyspark的依赖
import findspark
findspark.init()
3. 导入依赖的pyspark模块
from pyspark import SparkContext
from pyspark import SparkConf
方法二:动态加载依赖文件
import os
import sys
os.environ['SPARK_HOME'] = "/opt/apache-spark-1.6.2-bin-hadoop2.7"
sys.path.append("/opt/apache-spark-1.6.2-bin-hadoop2.7/python")
sys.path.append("/opt/apache-spark-1.6.2-bin-hadoop2.7/python/lib/py4j-0.9-src.zip")
try:
from pyspark import SparkContext
from pyspark import SparkConf
print ("success")
except ImportError as e:
print ("error importing spark modules", e)
sys.exit(1)
方法三:设置环境变量
若服务器上是组内共用的账号,不推荐此种方法
修改.bashrc,增加如下内容
# 若已有环境变量,可忽略此步
SPARK_HOME=/opt/apache-spark-1.6.2-bin-hadoop2.7
# 添加python环境变量
export PYTHONPATH=${SPARK_HOME}/python:${SPARK_HOME}/python/lib/py4j-0.9-src.zip:${PYTHONPATH}