我在独立模式下运行spark,在Windows 8中使用anaconda 3.5,ipython笔记本。
规范,我正在尝试创建环境如下:
import os
import sys
import numpy
spark_path = "D:\spark"
os.environ['SPARK_HOME'] = spark_path
os.environ['HADOOP_HOME'] = spark_path
sys.path.append(spark_path + "/bin")
sys.path.append(spark_path + "/python")
sys.path.append(spark_path + "/python/pyspark/")
sys.path.append(spark_path + "/python/lib")
sys.path.append(spark_path + "/python/lib/pyspark.zip")
sys.path.append(spark_path + "/python/lib/py4j-0.10.4-src.zip")
from pyspark import SparkContext
from pyspark import SparkConf
sc = SparkContext("local", "test")
当我尝试运行以下代码时:
rdd = sc.parallelize([1,2,3])
rdd.count()
它给了我错误:
worker中的Python与驱动程序3.5中的版本不同,版本为3.4, PySpark无法运行不同的次要版本。请检查 环境变量PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON是 正确设置。
我尝试了this
import os
os.environ["SPARK_HOME"] = "/usr/local/Cellar/apache-spark/2.1.0/" ## Exact anaconda path in "program files"
我尝试了this
但两者都无法解决我的问题。有人可以帮我解决这个问题吗?我在计算机系统配置方面有点非技术性。
非常感谢!
答案 0 :(得分:1)
首先,如果您正在使用Spark,我建议使用Virtualbox并安装ubuntu 14.04 LTS或CentOs! 即使您正在使用它,使用Windows后端的独立开发应用程序也会变得更加困难! 尽管如此,如果你试图从胜利中连接HIVE Metastore / hadoop,它几乎是不可能的......
我们遇到了与cloudera管理器相同的问题,解决方案是在所有节点上解析相同版本的anaconda,并更改.bashrc中的PATH变量
我认为最好在jupiter之外设置变量! 尝试在windows中为python和spark重新配置你的路径环境!