在Windows环境下以Local模式运行Spark程序时,若遇到写入临时文件后执行shell命令报错“null command”,通常是由于缺少Hadoop的winutils.exe文件所致。

为解决此问题,可尝试以下两种方法:

  1. 配置系统环境变量 HADOOP_HOME,并将其值设置为Hadoop安装目录,例如:HADOOP_HOME=F:/hadoop-common-2.2.0-bin-master
  2. 在应用程序代码中,通过System.setProperty("hadoop.home.dir", "F:/hadoop-common-2.2.0-bin-master") 设置Hadoop安装目录。

请确保已下载winutils.exe文件并将其放置在Hadoop安装目录的bin文件夹下。