社区巫师,
我真的很沮丧。说到spark,hadoop等人,似乎没有什么是直截了当的。
在过去的几个小时里,我试图找到解决以下问题的方法:
ERROR Executor: Exception in task 0.0 in stage 13.0 (TID 823)
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createFileWithMode0(Ljava/lang/String;JJJI)Ljava/io/FileDescriptor;
版本:
操作系统:windows 10
spark版本:2.4.6
scala版本:2.11.12
hadoop版本:2.7.1
java版本:1.8.0_(64位)
变量:
spark\u主页:c:\spark
hadoop\u主页:c:\hadoop\hadoop-2.7.1
scala\u主页:c:\program files(x86)\scala
jre\u主页:c:\program files\java\jre1.8.0\u 202
java\u主页:c:\program files\java\jdk1.8.0\u 202
路径:
%spark\u主页%\bin
%hadoop\u主页%\bin
%scala\u主页%\bin
%jre\ U主页%\bin
%java\u主页%\bin
引发错误的命令是:
df.coalesce(1).write.format("csv").save("result")
文件夹(结果)似乎已创建,但它是空的。
我完全不知道如何解决这个问题。
任何帮助都将受到热烈欢迎。
2条答案
按热度按时间z9zf31ra1#
您似乎没有安装适用于windows的hadoop二进制文件
HADOOP_HOME
目录。也可能是它们的依赖项(如visualc++运行时)丢失了。您可能还需要直接加载共享库,这取决于您启动spark应用程序的方式。
iaqfqrcu2#
我相信你的
HADOOP_HOME=C:\Hadoop\hadoop-2.7.1
指向hadoop二进制文件/库,您应该需要一个名为WINUTILS.EXE
在Windows里工作。您可以从git下载hadoop版本的winutils,并将hadoop\u homeMap到winutils的根目录。https://github.com/steveloughran/winutils
资料来源:
来自hadoop的合流:hadoop需要windows上的本机库才能正常工作,这包括访问file://filesystem,其中hadoop使用一些windows API实现类似posix的文件访问权限
https://cwiki.apache.org/confluence/display/hadoop2/windowsproblems