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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值