问题:
本地执行spark sql,生成数据时会出现java.io.IOException: (null) entry in command string: null ls -F E:\tmp\hive错误
解决办法:
1. 下载hadoop-2.9.2(下载地址:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz),并解压到本地
2. 下载winutils.exe(下载地址:https://pan.baidu.com/s/1Rb5ROUQMSqp7SeQINlLZkA 提取码:n8t6),解压出来的winutils.exe文件放到hadoop中bin目录下
3. 配置hadoop的环境变量,在系统变量path中添加hadoop的bin和sbin路径变量
4. 在cmd中执行D:\hadoop\hadoop-2.9.2\bin\winutils.exe chmod 777 E:\tmp\hive 命令,对E:\tmp\hive文件夹进行授权,(此处E:\tmp\hive根据自身程序报错信息进行更改)
5. 然后再执行D:\hadoop\hadoop-2.9.2\bin\winutils.exe ls E:\tmp\hive命令,查看文件夹权限是否更改
6. 重启idea,重新运行程序即可。