首页 理论教育 使用IDEA构建Spark应用程序的实例

使用IDEA构建Spark应用程序的实例

时间:2023-06-25 理论教育 版权反馈
【摘要】:图2.41 IntelliJ IDEA中sbt compile执行过程当出现图2.42中的界面信息时,执行成功。图2.45 IntelliJ IDEA中添加 Scala类的类型选择构建后,如图2.46所示,其中HellpSparkMaster位于test的package下:在Scala中,package的名字和目录不需要像Java那样,必须一致。图2.46 IntelliJ IDEA中添加Scala类代码8.开始对应用程序进行打包:构建jar包有两种方式可以使用,一种是在IDEA界面上使用Termi

使用IDEA构建Spark应用程序的实例

这部分内容详细描述了如何在IDEA中构建Spark应用程序,并通过关联Spark源码,为Spark应用程序的调试工作做准备。

一、准备工作

当前安装的IntelliJ IDEA版本为14.0.1,低版本可能操作上会有些差异。IDEA需要安装的插件,可以通过以下步骤来查看或安装。

1.从File菜单进入Plugins设置界面

单击File菜单下的Settings…命令,进入IDEA配置界面,如图2.30所示。

978-7-111-51909-6-Chapter02-232.jpg

图2.30 IntelliJ IDEA的Settings菜单

第一次打开IDEA或在File菜单下单击Close Project打开IDEA时,在出现的界面上可以打开配置页面。如图2.31所示。

在这里单击下拉框后可以直接看到Plugins,打开就可以进入插件管理界面,Configure界面如图2.32所示。

978-7-111-51909-6-Chapter02-233.jpg

图2.31 IntelliJ IDEA的Configure入口界面

978-7-111-51909-6-Chapter02-234.jpg

图2.32 IntelliJ IDEA的 Plugins配置选项

2.安装插件

在IDEA的配置界面,即Settings界面上可以浏览已经安装的插件,以及查找插件仓库中的其他插件并安装,查找插件仓库中的插件过程如图2.33所示。

978-7-111-51909-6-Chapter02-235.jpg

图2.33 IntelliJ IDEA的Plugins配置界面

在Plugins界面中,可以看到已经安装的插件列表,这里查看是否已经安装了SBT、SBT Executor和Scala插件,如果还没有安装,单击Browse repositories按钮,可以浏览插件仓库,然后选择要安装的插件,并在界面右边单击install按钮即可。

二、构建Spark应用程序

构建Spark应用程序的详细步骤如下:

1.创建Project

在File菜单下单击New Project…命令,创建一个新的Project。创建一个Project的过程如图2.34所示。

978-7-111-51909-6-Chapter02-236.jpg

图2.34 IntelliJ IDEA的创建新Project界面

2.选择Scala、SBT

Project构建设置的过程如图2.35所示。

978-7-111-51909-6-Chapter02-237.jpg

图2.35 IntelliJ IDEA的创建Project界面

选择Scala、SBT后,单击OK按钮继续。

3.设置Project名字,目录位置,以及选择JDK的版本信息

Project的具体配置信息,包含名字、目录位置等的具体配置如图2.36所示。

978-7-111-51909-6-Chapter02-238.jpg

图2.36 IntelliJ IDEA创建Project的配置界面

创建Project之前,先在本地安装JDK(也可以后续在File菜单下的Setting…中进行设置)。此处,单击Finish按钮继续。

4.创建默认的目录结构

创建成功后,在Project中右键打开上下文菜单,在菜单中选择Mark Directory As命令,再选择Generated Sources Root命令,便自动构建了整个Project的目录结构,自动构建整个目录结构的操作流程如图2.37所示。

978-7-111-51909-6-Chapter02-239.jpg

图2.37 IntelliJ IDEA的自动构建整个Project的目录结构菜单

创建过程中会进行编译,编译后的目录结构如图2.38所示。

978-7-111-51909-6-Chapter02-240.jpg

图2.38 IntelliJ IDEA的SBT构建文件

IDEA已经构建了src、src下的main等各个子目录,同时包含了构建时生成的target目录,在这里可以看到,当前IDEA使用的Scala版本为2.11.4。

5.修改依赖的Scala版本

由于当前Spark 1.3是基于Scala 2.10.4版本构建的,考虑到Scala的二进制兼容性,构建的应用程序也需要保持Scala版本一致性,所以需要修改版本。

打开build.sbt文件,修改ScalaVersion为“2.10.4”,版本修改的文件内容如图2.39所示。

6.执行SBT Commands下的Compile命令

在安装SBT相关的两个插件后,菜单中会出现SBT Commands,新增的菜单及其具体子菜单如图2.40所示。

978-7-111-51909-6-Chapter02-241.jpg

图2.39 IntelliJ IDEA的修改构建的Scala版本

978-7-111-51909-6-Chapter02-242.jpg

图2.40 IntelliJ IDEA插件的SBT命令

SBT Commands包含以下几种命令:

1)compile:编译Project。

2)clean:清理编译结果。

3)gen-idea:可以在Windows 7下使用,用于构建IDEA所需的工程信息。

运行这些命令后,可以在SBT Execute Output窗口查看具体过程,运行compile子菜单时的界面信息如图2.41所示。

978-7-111-51909-6-Chapter02-243.jpg

图2.41 IntelliJ IDEA中sbt compile执行过程

当出现图2.42中的界面信息时,执行成功。

由于之前修改了Scala的版本,对应构建后的target目录中会生成新的Scala版本对应的目录,结构如图2.43所示。

在target目录中编译的结果已经放到了scala-2.10目录。

7.在src/main/scala下创建Scala Object

构建Scala Object,在scala目录上单击右键,依次选择New→Scala Class命令,步骤如图2.44所示。(www.xing528.com)

978-7-111-51909-6-Chapter02-244.jpg

图2.42 IntelliJ IDEA中sbt compile执行结果

978-7-111-51909-6-Chapter02-245.jpg

图2.43 IntelliJ IDEA中修改Scala版本并重新编译后的目录结构

978-7-111-51909-6-Chapter02-246.jpg

图2.44 IntelliJ IDEA中添加Scala类

在弹出窗口中,单击下拉页表框Kind,选择Object,如图2.45所示。

978-7-111-51909-6-Chapter02-247.jpg

图2.45 IntelliJ IDEA中添加 Scala类的类型选择

构建后,如图2.46所示,其中HellpSparkMaster位于test的package下:

在Scala中,package的名字和目录不需要像Java那样,必须一致。但为了方便查看,建议使用像Java那样,保持两者的一致性,这里可以在scala目录上单击右键,然后构建一个test的package,然后将Scala Object移到该package下。

978-7-111-51909-6-Chapter02-248.jpg

图2.46 IntelliJ IDEA中添加Scala类代码

8.开始对应用程序进行打包:构建jar包

有两种方式可以使用,一种是在IDEA界面上使用Terminal窗口,在窗口中使用sbt package进行打包。如图2.47所示。

978-7-111-51909-6-Chapter02-249.jpg

图2.47 IntelliJ IDEA的sbt package过程

Terminal打开方式如图2.48所示,单击左下角箭头所指部分,选择Terminal。

978-7-111-51909-6-Chapter02-250.jpg

图2.48 IntelliJ IDEA的Terminal界面

这种方式构建的jar包和章节2.4.1基于SBT构建Spark应用程序的实例一样。

9.添加依赖的jar包

虽然已经有了sbt构建文件,但IDEA不能识别Spark的类,在代码编辑窗口中还是有错误提示信息。可以手动将依赖的jar包添加进去,方法如下:

1)打开Project Structure。即选择File菜单下的Project Structure…命令,打开步骤如图2.49所示。

2)在Libraries中添加依赖的jar包。选中Libraries命令,单击“+”按钮,选择Scala SDK命令,具体步骤如图2.50所示。

978-7-111-51909-6-Chapter02-251.jpg

图2.49 IntelliJ IDEA的Project Structure菜单

978-7-111-51909-6-Chapter02-252.jpg

图2.50 IntelliJ IDEA中添加Scala SDK类库

3)在弹出窗口中选择Scala的2.10.4版本,版本选择界面如图2.51所示。

4)单击OK按钮,在弹出的窗口中选择当前的Module,单击OK按钮,然后继续。

978-7-111-51909-6-Chapter02-253.jpg

图2.51 IntelliJ IDEA中选择Scala SDK类库版本

5)继续单击“+”按钮,选择Java命令,添加Spark的编译后的jar包,添加依赖jar包界面如图2.52所示。

978-7-111-51909-6-Chapter02-254.jpg

图2.52 IntelliJ IDEA中选择Java第三方类库

6)在Spark安装路径下添加所需的依赖jar包,如图2.53所示。

978-7-111-51909-6-Chapter02-255.jpg

图2.53 IntelliJ IDEA中选择Spark依赖类库

7)这里选择最新的Spark1.3版本编译后的Spark-assembly-1.3.0-hadoop2.4.0.jar包。

8)单击OK按钮,在弹出的窗口中选择当前的Module,单击OK按钮,完成依赖jar包的添加。

10.通过IDEA的Artifacts构建jar包

1)打开Project Structure。即选择File菜单下的Project Structure…命令,在Project Struc-ture窗口中选择Artifacts命令,Artifacts配置如图2.54所示。

978-7-111-51909-6-Chapter02-256.jpg

图2.54 IntelliJ IDEA中Artifacts配置界面

2)单击“+”按钮,构建jar包,在窗口中填写相关信息,构建jar包的选择类型如图2.55中箭头所示。

978-7-111-51909-6-Chapter02-257.jpg

图2.55 IntelliJ IDEA中Artifacts配置

3)弹出窗口中选择Module,当前Module的选择如图2.56中箭头所示。

978-7-111-51909-6-Chapter02-258.jpg

图2.56 IntelliJ IDEA中Artifacts的Module配置

4)将集群中已经部署的jar包去除。即选中jar包,单击“-”按钮,去除这部分依赖jar包,具体操作如图2.57所示。

978-7-111-51909-6-Chapter02-259.jpg

图2.57 IntelliJ IDEA中Artifacts的配置

5)在Artifacts的配置界面中可以设置构建jar包的输出路径,可以在构建的jar包中去除依赖的jar包。单击OK按钮,继续在IDEA主菜单中选择Build下的Build Artifacts…命令,操作步骤如图2.58所示。

978-7-111-51909-6-Chapter02-260.jpg

图2.58 IntelliJ IDEA中Artifacts的构建菜单

6)构建后到输出路径上查看是否已经生成jar包,本例生成的结果文件如图2.59所示。

978-7-111-51909-6-Chapter02-261.jpg

图2-59 IntelliJ IDEA中Artifacts的build输出结果

到这一步,构建过程就完成了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈