在Windows环境下以Local模式运行Spark程序时,若遇到写入临时文件后执行shell命令报错“null command”,通常是由于缺少Hadoop的winutils.exe文件所致。
为解决此问题,可尝试以下两种方法:
- 配置系统环境变量
HADOOP_HOME
,并将其值设置为Hadoop安装目录,例如:HADOOP_HOME=F:/hadoop-common-2.2.0-bin-master
。 - 在应用程序代码中,通过
System.setProperty("hadoop.home.dir", "F:/hadoop-common-2.2.0-bin-master")
设置Hadoop安装目录。
请确保已下载winutils.exe文件并将其放置在Hadoop安装目录的bin文件夹下。