Hadoop 环境下搞 Spark 开发的朋友,估计多多少少都碰到过那个烦人的 UnsatisfiedLinkError 错误。是 Windows 上跑本地测试时,没配好 winutils 直接就崩。hadoop-2.7.0-winutils.zip 就是干这个的,放进去一解压,立马不报错,真挺省事。

hadoop 的 native 组件在 Windows 上本来就兼容性差,尤其是像NativeIO这种底层调用,没这个包基本起不来。你只要把它放到你的 Hadoop 目录下,比如 hadoop-2.7.0/bin,Spark 运行基本就顺了,连带着 createFileWithMode0 这种问题都能。

嗯,还有个细节哈:路径不要有中文或空格,不然会报其他奇怪的错。顺手说一句,这个压缩包不止修个错误,它还能让你用 hdfs dfs 这些命令本地跑一跑,调试体验好多。

如果你是用 Spark + Hadoop 2.x 的组合在 Windows 上搞开发,那这个 winutils.zip 可以说是必备小工具,下载放进去就完事儿。要是你用的是 Hadoop 3.x,那就另找版本啦。