环境:
idea :IntelliJ IDEA 2020.3.4 (Ultimate Edition) spark:spark-3.0.3 Scala:scala-2.12.10 Hadoop:hadoop-2.7.1
问题描述
在spark 创建RDD 的学习过程中,将处理的数据保存成分区文件的时候,只自动创建output2文件夹,但是里面什么都没有,而且报如下错误。
2022-04-0111:30:59, 280{yy/MM/ddjava. lang . UnsatisfiedLinkError: org . apache . hadoop. io . nativeio . NativeIO$Windows . createFiLeWithMode0(Ljava/Lang/String;JJJI)Ljava/io/FiLeDescriptor;
at org. apache . hadoop. io.nativeio . NativeIO$Windows . createFileWi thMode0(Native Method)
at org. apache . hadoop. io . nativeio . NativeIO$Windows . createF ile0utputstreamWithMode(NativeI0. java:559)
at org. apache . hadoop . fs . RawLocalFileSystem$LocalFSFileOutputStream. <init> (RawLocalFileSystem. java:219)
at org . apache . hadoop . fs . RawLocalFileSystem$LocalFSFile0utputStream. <init> (RawLocalFileSystem. iava:209)
原因分析:
通过查找相关资料知道,这个方法是加载本地系统和用户的环境变量的, 而我在安装Hadoop的时候将hadoop.dll放到了安装Hadoop文件夹的bin文件夹中导致的。
解决方案:
将bin中hadoop.dll文件删除,确保系统环境变量Path下的每一个目录没有hadoop.dll文件。同时记得在idea的Run Configuration中添加HADOOP_HOME 变量。
结束!!!
博主目前大三,一个编程菜鸟,写博客是为了记录自己的学习成长 如果文章有错误的地方,请指正!我们大家一起学习一起进步
|