没有名为“资源”的模块在Windows上安装Apache Spark

时间:2018-11-13 02:42:38

标签: python windows apache-spark

我正在尝试安装apache spark以在Windows机器上本地运行。我在这里https://medium.com/@loldja/installing-apache-spark-pyspark-the-missing-quick-start-guide-for-windows-ad81702ba62d遵循了所有说明。

安装后,我能够成功启动pyspark并执行诸如

之类的命令
textFile = sc.textFile("README.md")

然后我执行对textFile操作的命令时,例如

textFile.first()

Spark给我错误“工人无法重新连接”,并且我可以在控制台中看到来自worker.py的异常,说“ ModuleNotFoundError:没有名为资源的模块”。查看源文件,我可以看到该python文件确实确实尝试导入资源模块,但是该模块在Windows系统上不可用。我了解您可以在Windows上安装spark,所以如何解决这个问题?

4 个答案:

答案 0 :(得分:15)

整个上午,我都遇到了同样的问题。最好的选择是降级到Spark 2.3.2

答案 1 :(得分:11)

可以在https://github.com/apache/spark/pull/23055上找到此修复程序。

该资源模块仅适用于Unix / Linux系统,不适用于Windows环境。此修补程序尚未包含在最新版本中,但是您可以如pull请求中所示在安装中修改worker.py。可以在https://github.com/apache/spark/pull/23055/files上找到对该文件的更改。

您将不得不重新压缩pyspark目录并将其移动到pyspark安装目录中的lib文件夹中(根据您提到的教程在其中提取预编译的pyspark)

答案 2 :(得分:0)

添加所有有价值的答案,

对于Windows用户,请确保已将正确版本的winutils.exe文件(针对特定的Hadoop版本)复制到spark / bin文件夹

说,      如果您具有Hadoop 2.7.1,则应从Hadoop 2.7.1 / bin文件夹复制winutils.exe文件

链接在这里

https://github.com/steveloughran/winutils

答案 3 :(得分:0)

我编辑了worker.py文件。删除了所有与资源相关的行。实际上是# set up memory limits块和import resource。错误消失了。