完成Spark配置后本地运行Databricks导出的PySpark代码报错如何解决
报错根本原因
Windows系统的CMD、PowerShell命令行环境不支持单引号作为文件路径的包裹符号,你提交命令里用'fsc2.py'的写法会被Spark识别为文件名本身包含单引号,自然找不到对应文件。
解决方案
- 调整spark-submit提交命令:文件名要么不加引号,要么用双引号包裹,正确命令如下:
如果文件名包含空格,使用双引号包裹:spark-submit fsc2.py
执行前确认当前命令行工作目录为桌面路径,且spark-submit "fsc2.py"fsc2.py和代码中读取的sample.txt都放在桌面目录下;如果不在当前工作目录,需要写文件的绝对路径。 - (可选,消除NativeCodeLoader警告)
该警告是缺少Windows平台适配的hadoop二进制文件导致,不影响基础功能运行,如果需要消除警告可按以下步骤操作:- 下载与你Spark内置Hadoop版本匹配的
winutils.exe、hadoop.dll文件 - 新建目录如
C:\hadoop\bin,将两个文件放入该目录 - 新增系统环境变量
HADOOP_HOME,值为C:\hadoop,再将%HADOOP_HOME%\bin添加到PATH环境变量,重启命令行即可生效。
- 下载与你Spark内置Hadoop版本匹配的
- 额外注意:如果代码中读取的
sample.txt不在当前工作目录,需要写绝对路径,路径分隔符用斜杠/或者双反斜杠\\,不要用单反斜杠,示例:text = sc.textFile('C:/Users/Abhishikth/Desktop/sample.txt')
内容的提问来源于stack exchange,提问作者Abhishikth Vishnumolakala
相关产品推荐
相关产品推荐

