我试图在Pycharm中使用Spark编写一个非常简单的代码,我的操作系统是Windows 8。我一直在处理几个问题,不知何故设法解决,除了一个。当我使用pyspark运行代码时。cmd一切工作顺利,但我没有运气与相同的代码在pycharm。SPARK_HOME变量有一个问题,我使用以下代码修复了这个问题:
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')
所以现在当我导入pyspark时,一切都很好:
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
我已经添加了python路径作为环境变量,它使用命令行可以正常工作,但我无法找出我的问题是什么。任何帮助或评论都非常感谢。
谢谢
5条答案
按热度按时间3hvapo4f1#
我遇到了和你一样的问题,然后我做了以下修改:设置PYSPARK_PYTHON为环境变量,指向python。exe在Pycharm的编辑配置中,下面是我的示例:
PYSPARK_PYTHON = D:\Anaconda3\python。exe
SPARK_HOME = D:\spark-1。6.3-bin-hadoop2.6
PYTHONUNBUFFERED = 1
gxwragnw2#
我遇到过这个问题,它是由集群的diff节点上的python版本冲突引起的,所以,它可以通过
它们在diff节点上是相同的版本。然后开始:
k4aesqcs3#
经过两天的努力,我发现了问题所在。我将以下内容添加到“PATH”变量中作为Windows环境变量:
记住,你需要将目录更改为安装spark的位置,对于python也是一样。另一方面,我不得不提到,我使用的是包含Hadoop的spark的预构建版本。
祝你们好运。
jvlzgdj94#
我必须将
SPARK_PYTHONPATH
设置为环境变量,以指向 python。exe 文件,除了PYTHONPATH
和SPARK_HOME
变量外,作为q3aa05255#
在库之后添加
os.environ['PYSPARK_PYTHON'] = sys.可执行操作系统environ['PYSPARK_DRIVER_PYTHON'] = sys.可执行的
并为py卸载喷气机大脑产品