我正在尝试安装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,所以如何解决这个问题?
答案 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文件
链接在这里
答案 3 :(得分:0)
我编辑了worker.py文件。删除了所有与资源相关的行。实际上是# set up memory limits
块和import resource
。错误消失了。