Idea本地运行spark,操作HDFS(spark-without-hadoop版的spark)

操作

一般大家都是用的spark-x.x.x-bin-hadoop2.x的spark

而我用的是spark-2.1.0-bin-without-hadoop,所以我们要使用HDFS的时候,就必须让程序能够找到Hadoop的HDFS

所以我们不仅要像一般的Idea运行集群操作一样给工程添加
$SPARK_HOME/jars到工程的Libraries,参考
IDEA开发Spark应用实战(Scala)_推荐
Window环境下使用IntelliJ IDEA调试Spark Application

在这里插入图片描述

而且我们还要导入hadoop的包
通过文章Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream的举一反三

$HADOOP_HOME/share/hadoop/common/lib/*
$HADOOP_HOME/share/hadoop/common/*

$HADOOP_HOME/share/hadoop/hdfs/*
$HADOOP_HOME/share/hadoop/hdfs/lib/*

$HADOOP_HOME/share/hadoop/yarn/lib/*
$HADOOP_HOME/share/hadoop/yarn/*

$HADOOP_HOME/share/hadoop/mapreduce/lib/*
$HADOOP_HOME/share/hadoop/mapreduce/*

$HADOOP_HOME/share/hadoop/tools/lib/*

展示以及验证

在这里插入图片描述

小缺憾

一般我们的默认路径,图中未注释的样子,和图中注释的样子,是等价的HDFS的路径,但是这windows的idea还是做不到
在这里插入图片描述

小发现

用户所有者

HDFS上文件的owner是我们windows的用户名,因为我的用户名是单林敏,所以在HDFS上会乱码成如下图
在这里插入图片描述

离线不可以直接连接HDFS,但是可以打Jar包

在这里插入图片描述

生成的jar包真大

在这里插入图片描述

生成这么大的jar包导致出了大问题

spark-submit运行idea生成的jar包无法找到主类

参考文章

Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream

发布了34 篇原创文章 · 获赞 4 · 访问量 7672
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术工厂 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览