学习Spark用的eclipse习惯了,看了这一篇文章搭建了一个单机环境,不过这个单机环境搭建起来了,以后的集群环境我相信也容易了…
准备
本地下载Scala
本地有下载Spark
本地有下载eclipse以及Scala的插件
以上过程在网上已经有一大堆教程了。
搭建过程
我的搭建过程与上方的文章有一些差距,毕竟年代久远了…
第一步:以上的环境都搭建好以后,建一个Scala工程。
第二步:在此工程下建一个Scala Object,在Scala中是以建立一个Object为准的,意思就是相当于python的一个方法工程。Scala一向诡异,看它的语法就知道了…
第三步:导入spark中的相关的包(如图),为了避免什么问题反正我是全部导入了
如果在建立之后,工程的下边出现有一个小叉叉,右键Scala Library container,选择Properties,选择上一代一版本的Scala(如图)即可解决小叉叉的问题,如果不行可以尝试其他的版本试试。(我的默认是2.12,换下面的2.11小叉叉消失,spark2.2.0建立和分发默认使用Scala 2.11)
测试
- 环境搭建就是那么的简单,在此测试一下。在刚刚建好的工程下输入以下代码,注意其中的提示
|
|
- 运行,点击run(如图)
- 测试效果:
看起来是不是比Hadoop的mapreduce简单多了,哈哈。
- 补充:
在eclipse中编译spark代码时,应当加上println之类的方法在最后以保结果可以正确输出,为何要强调这一点呢?因为在终端运行代码时,我们通常是不需要输入println之类的方法就可输出相关的结果的,这一点应该记住,不然易导致在eclipse中运行代码时容易出错,并且大部分人我相信也会像从前的我一样没有什么头绪,而现在就有了…
- 如图:
这些真的都需要自己去实践发现的,我也是在参考了一些资料之后才发现的这个问题…因为网上关于用eclipse像我这样编译spark的教程并不多,据我所看到的,大多用maven来搭建spark的编译环境的。
最为重要的一点是在eclipse中编译相关的代码时,输出的结果是无法判断是否是正确的…即使我们在平时的编译中是有一定的错误提示的,但是对于初学者来说还是有一点不友好的感觉…
另外的补充:在eclipse中运行结果时,有一定的会在右下角显示的缓冲时间,细心一点的朋友可能会发现了,由此说来结果是需要一点时间来输出的(不如说是正确的结果)。所以在eclipse运行时需要多运行几次(因为需要在第一次运行之后缓冲才会开始,所以一般运行两次这样就可得之正确的相关的结果了),若是结果还不对,最大的问题可能就是在代码上了…