我想在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