如何在 Windows 8 命令提示符下运行 pyspark 应用程序

数据挖掘 Python 阿帕奇火花 pyspark 蟒蛇 视窗
2021-09-16 09:50:20

我有一个用 Spark Context 编写的 python 脚本,我想运行它。我试图将 IPython 与 Spark 集成,但我做不到。因此,我尝试将 spark 路径 [ Installation folder/bin ] 设置为环境变量,并在 cmd 提示符下调用spark-submit命令。我相信它正在寻找火花上下文,但它会产生一个非常大的错误。有人可以帮我解决这个问题吗?

环境变量路径:C:/Users/Name/Spark-1.4;C:/Users/Name/Spark-1.4/bin

之后,在 cmd 提示符下: spark-submit script.py

在此处输入图像描述

3个回答

我对 Spark 还很陌生,并且已经知道如何在 Windows 10 和 7 上与 IPython 集成。首先,检查 Python 和 Spark 的环境变量。这是我的: SPARK_HOME: C:\spark-1.6.0-bin-hadoop2.6\ 我使用 Enthought Canopy,所以 Python 已经集成到我的系统路径中。接下来,启动 Python 或 IPython 并使用以下代码。如果您收到错误,请检查您得到的“spark_home”。否则,它应该运行得很好。

import os

import sys

spark_home = os.environ.get('SPARK_HOME', None)

if not spark_home:

raise ValueError('SPARK_HOME environment variable is not set')

sys.path.insert(0, os.path.join(spark_home, 'python'))

sys.path.insert(0, os.path.join(spark_home, 'C:/spark-1.6.0-bin-hadoop2.6/python/lib/py4j-0.9-src.zip')) ## may need to adjust on your system depending on which Spark version you're using and where you installed it.

execfile(os.path.join(spark_home, 'python/pyspark/shell.py'))

IPython 上的 pySpark

Johnnyboycurtis 的回答对我有用。如果您使用的是 python 3,请使用以下代码。他的代码在 python 3 中不起作用。我只编辑他的代码的最后一行。

import os
import sys


spark_home = os.environ.get('SPARK_HOME', None)
print(spark_home)
if not spark_home:
    raise ValueError('SPARK_HOME environment variable is not set')
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'C:/spark-1.6.1-bin-hadoop2.6/spark-1.6.1-bin-hadoop2.6/python/lib/py4j-0.9-src.zip')) ## may need to adjust on your system depending on which Spark version you're using and where you installed it.


filename=os.path.join(spark_home, 'python/pyspark/shell.py')
exec(compile(open(filename, "rb").read(), filename, 'exec'))

最后,我解决了这个问题。我必须在 PATH 变量中设置 pyspark 位置,在 PYTHONPATH 变量中设置 py4j-0.8.2.1-src.zip 位置。