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

cnwbcb6i  于 2023-04-29  发布在  Spark
关注(0)|答案(5)|浏览(238)

我试图在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路径作为环境变量,它使用命令行可以正常工作,但我无法找出我的问题是什么。任何帮助或评论都非常感谢。
谢谢

3hvapo4f

3hvapo4f1#

我遇到了和你一样的问题,然后我做了以下修改:设置PYSPARK_PYTHON为环境变量,指向python。exe在Pycharm的编辑配置中,下面是我的示例:
PYSPARK_PYTHON = D:\Anaconda3\python。exe
SPARK_HOME = D:\spark-1。6.3-bin-hadoop2.6
PYTHONUNBUFFERED = 1

gxwragnw

gxwragnw2#

我遇到过这个问题,它是由集群的diff节点上的python版本冲突引起的,所以,它可以通过

export PYSPARK_PYTHON=/usr/bin/python

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

pyspark
k4aesqcs

k4aesqcs3#

经过两天的努力,我发现了问题所在。我将以下内容添加到“PATH”变量中作为Windows环境变量:

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

记住,你需要将目录更改为安装spark的位置,对于python也是一样。另一方面,我不得不提到,我使用的是包含Hadoop的spark的预构建版本。
祝你们好运。

jvlzgdj9

jvlzgdj94#

我必须将SPARK_PYTHONPATH设置为环境变量,以指向 python。exe 文件,除了PYTHONPATHSPARK_HOME变量外,作为

SPARK_PYTHONPATH=C:\Python27\python.exe
q3aa0525

q3aa05255#

在库之后添加
os.environ['PYSPARK_PYTHON'] = sys.可执行操作系统environ['PYSPARK_DRIVER_PYTHON'] = sys.可执行的
并为py卸载喷气机大脑产品

相关问题