Spark Python错误 "FileNotFoundError: [WinError 2] 系统找不到指定的文件"

8

我刚开始学习Spark和Python。我已经在Windows上安装了Python 3.5.1和Spark-1.6.0-bin-hadoop2.4。

当我在Python shell中执行sc = SparkContext("local", "Simple App")时,出现以下错误:

>>> from pyspark import SparkConf, SparkContext

>>> sc = SparkContext("local", "Simple App")

Traceback (most recent call last):

  File "<pyshell#11>", line 1, in <module>

    sc = SparkContext("local", "Simple App")

  File "C:\spark-1.6.0-bin-hadoop2.4\python\pyspark\context.py", line 112, in __init__

    SparkContext._ensure_initialized(self, gateway=gateway)

  File "C:\spark-1.6.0-bin-hadoop2.4\python\pyspark\context.py", line 245, in _ensure_initialized

    SparkContext._gateway = gateway or launch_gateway()

  File "C:\spark-1.6.0-bin-hadoop2.4\python\pyspark\java_gateway.py", line 79, in launch_gateway

    proc = Popen(command, stdin=PIPE, env=env)

  File "C:\Python35-32\lib\subprocess.py", line 950, in __init__
    restore_signals, start_new_session)

  File "C:\Python35-32\lib\subprocess.py", line 1220, in _execute_child
    startupinfo)

FileNotFoundError: [WinError 2] The system cannot find the file specified

>>> 

你好,你尝试过使用 sc = SparkContext("local", "Simple\ App") 吗? - Hossein Vatani
你解决了吗? - Laurens Koppenol
5个回答

4
请检查您的地址以确保它被正确地书写。在我的情况下,我的地址是:

"C:/Users/nekooeimehr/AppData/Local/Programs/Python/Python35-32/spark-1.6.2-bin-hadoop2.4"

然而正确的地址应该是:

"C:/Users/nekooeimehr/AppData/Local/Programs/Python/Python35-32/spark-1.6.2-bin-hadoop2.4/spark-1.6.2-bin-hadoop2.4"


2

你需要正确设置SPARK_HOME。我已经调试了Python脚本并进行了验证,这将起作用。


2
请问您能否详细说明一下? - pnv

2

以管理员身份重启并运行pySpark


如果您正在使用PyCharm,请以管理员身份启动PyCharm。 - shiv

0
如果已经验证了系统环境变量,但仍无法工作,请检查您的jvm(64或32位)版本是否与您的机器兼容。

0

我遇到了同样的错误。请确保SPARK_HOME, JAVA_HOME和PATH环境变量被正确设置。

对于我的机器来说,

SPARK_HOME: C:\Repo\spark\spark-3.3.1-bin-hadoop3
JAVA_HOME: C:\Program Files\Java\jdk1.8.0_361

在你的PATH变量中:追加以下内容
%SPARK_HOME%\bin
%JAVA_HOME%\bin

这是因为SPARK_HOME\bin包含了spark-shell/sql等可执行文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接