Spark开发环境配置(windows/Intellij IDEA 篇)

时间:2022-12-28 17:30:30

Intellij IDEA是一个蛮不错的IDE,在java/scala/Groovy领域深得人心。笔者之前使用的是Eclipse那一套开发环境,虽然也不错,但忍不住好奇心的驱使,折腾了一下IDEA,发现写起Spark程序来,“哎呦,不错哟!”,故总结一下在windows系统中的配置过程(在mac下的配置其实更简单一些),自己琢磨时还是费了点劲的,网上各种教程新旧正误繁杂,好不麻烦,加上笔者工作中最烦的就是各种软件的下载安装配置,有时一个配置没做对,就浪费好长时间。故而将自己摸索过程总结一下,方便Spark爱好者参考。

配置前提

  1. JDK安装。 请自行前往oracle官方网站下载安装,并在command命令行窗口确认java -version 可以返回版本号,否则的话要去系统环境变量设置位置确认是否java已经被添加到PATH中
  2. Scala下载安装。移步官网 http://www.scala-lang.org/ 下载并安装即可。同第1步,要在command命令行下确认敲击scala可以进入交互式命令窗口,否则请确认环境变量的配置。
  3. spark源代码下载。官方网站 http://spark.apache.org/downloads.html 上提供有各种hadoop版本的预编译版spark代码,理论上要根据你在用的hadoop版本来相应选择,本文仅作配置说明,故任选其中一即可。笔者下载的是spark1.5, 对应hadoop2.6预编译的版本,解压即可。
  4.  Intellij IDEA下载。https://www.jetbrains.com/idea/ 上可以下载免费的community版本。

配置开始

1. 安装IDEA 的scala插件

        步骤如下图所示,笔者已经安装过,故右方显示已经存在该插件。第一次安装时,在plugins处输入scala关键词搜索,在联网环境下点击安装即可。

    Spark开发环境配置(windows/Intellij IDEA 篇)

2. 创建项目并导入相应依赖包

    如下图指引,新建项目时,选择scala,然后点击“下一步”,这里Project SDK是java的jdk,如果没有默认加载出来,点击New,手工定位到jdk的目录提交上来即可。Scala SDK那里如果默认没有加载出来,点击Create,在弹出的窗口中安默认勾选的System点击OK即可。

Spark开发环境配置(windows/Intellij IDEA 篇)

Spark开发环境配置(windows/Intellij IDEA 篇)

Spark开发环境配置(windows/Intellij IDEA 篇)

此时,俺的项目长成如下这个模样:

Spark开发环境配置(windows/Intellij IDEA 篇)

接下来,我们导入上面下载好的spark源码。按下图指引操作, 在+号处选择java, 然后定位到你上面步骤中将spark程序解压到的目录位置,选择lib目录下的spark-assembly-1.5.0-hadoop2.6.0.jar文件,确认。

Spark开发环境配置(windows/Intellij IDEA 篇)

Spark开发环境配置(windows/Intellij IDEA 篇)

此时,俺的项目依赖的外部库文件中,就多出了spark源码这个文件,如下图所示:

Spark开发环境配置(windows/Intellij IDEA 篇)

程序开发

    搞好了基础配置,就开始coding吧。

    这里先提几个细节。如果你发现在src目录上右键找不到scala class这样的文件创建选项的话,说明src这个文件夹的属性不对,一定要确认下图所示src被选中为Sources文件夹属性。

Spark开发环境配置(windows/Intellij IDEA 篇)

第2个细节,这里创建类文件时,一般大家喜欢按目录结构来,比如创建main/scala/或main/java等这样的子文件夹,当然这样方便了代码管理,但是笔者在这样操作时,后面编译文件时就报错了。google半天,发现不少人遇到同样问题,删除这些子文件夹,直接在src下创建类文件,就OK了。

     finally, 终于进入编码环节了。本文为示例方便,直接拿spark源码中的example程序-SparkLR来讲解(这些案例程序位于你的spark解压目录\examples\src\main\scala\org\apache\spark\examples)。在src文件夹上右击选择scala class, Kind这里选择Object,然后把上述案例程序粘贴进去。

Spark开发环境配置(windows/Intellij IDEA 篇)

截止目前,我们的项目长成如下这个样子:

Spark开发环境配置(windows/Intellij IDEA 篇)

然后,还要再配置一下输出,也就是说一会你写的代码编译打包成jar包,放到哪里去,起个啥名字。操作如下:

Spark开发环境配置(windows/Intellij IDEA 篇)

Spark开发环境配置(windows/Intellij IDEA 篇)

点击OK后,就配置好了输出形式。

编译&打包

    build -> build artifacts -> spark_dev:jar -> build, 然后就开始编译了,在最下面可以看到进行的状态。如果没有报错,就是成功啦。

    Spark开发环境配置(windows/Intellij IDEA 篇)

Spark开发环境配置(windows/Intellij IDEA 篇)

到输出JAR包的目录下去看看,发现确实成功生成了一个jar文件。【特别提示:此处打好的jar包如果要提交到数平的Spark集群上运行,请打开此jar包文件,观察其中是否有一个scala的文件夹,删除之!否则可能与线上的scala版本冲突】

到此,整个配置、开发、编译过程就算成功完成了。至于提交运行,就不在本文讨论范围内了,有时间的话再撰文记录吧。

Spark开发环境配置(windows/Intellij IDEA 篇)

结束语

    开发环境的配置算是程序员工作中一项最boring且没有成就感的事情了,尤其是各种IDE的那么多功能点,鼠标点啊点,有时候也不知道逻辑关系是啥。故而如果本文能有幸为各位提供方便,则不枉俺费力总结一通了。好啦,就到这里了。

注:本文转载自 http://m.blog.csdn.net/article/details?id=51176969