java.io.IOException:无法在Pycharm中使用Spark运行程序“python”(Windows)

我想在Pycharm中使用Spark编写一个非常简单的代码,而我的操作系统是Windows 8.我一直在处理几个问题,除了一个之外,我们设法解决了这个问题。 当我运行代码使用pyspark.cmd一切工作顺利,但我没有在pycharm相同的代码运气。 SPARK_HOMEvariables存在一个问题,我使用下面的代码修复了这个问题:

import sys import os os.environ['SPARK_HOME'] = "C:/Spark/spark-1.4.1-bin-hadoop2.6" sys.path.append("C:/Spark/spark-1.4.1-bin-hadoop2.6/python") sys.path.append('C:/Spark/spark-1.4.1-bin-hadoop2.6/python/pyspark') 

所以现在当我importpyspark,一切都很好:

 from pyspark import SparkContext 

当我想运行我的代码的其余部分时,问题上升:

 logFile = "C:/Spark/spark-1.4.1-bin-hadoop2.6/README.md" sc = SparkContext() logData = sc.textFile(logFile).cache() logData.count() 

当我收到以下错误:

 15/08/27 12:04:15 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0) java.io.IOException: Cannot run program "python": CreateProcess error=2, The system cannot find the file specified 

我已经添加了pythonpath作为一个环境variables,它使用命令行正常工作,但我无法弄清楚我的问题是这个代码。 任何帮助或评论非常感谢。

谢谢

经过两天的努力,我发现问题在哪里。 我添加了下面的“PATH”变量作为Windows环境变量:

 C:/Spark/spark-1.4.1-bin-hadoop2.6/python/pyspark C:\Python27 

请记住,您需要将目录更改为安装Spark的位置,对于Python也是如此。 另一方面,我不得不提到,我正在使用包含Hadoop的spark的预生成版本。

祝大家好运。

我遇到过这个问题,它是由python版本在cluster的diff节点上的冲突造成的,所以可以通过

 export PYSPARK_PYTHON=/usr/bin/python 

它们在diff节点上是相同的版本。 然后开始:

 pyspark