在用Spark写Hive语句时,出现以下错误:
原因:
是 hadoop.dll 文件版本的问题。Hadoop在访问本地文件和HDFS文件系统时,需要使用本地库,本地库中使用了Windows的API来实现类posix的文件访问许可,而这个本地库的实现就是hadoop.dll和winutils.exe。由于是本地Windows安装启动的Hadoop,故需要hadoop.dll文件,Hadoop版本是3.2.2的,但是hadoop.dll文件版本对不上。
解决:
将hadoop安装文件中的bin文件里的hadoop.dll 和 winutils.exe 这两个文件替换为对应版本即可。
Hadoop不同版本 hadoop.dll 和 winutils.exe 下载地址: