3.2 构建Spark的开发环境

无论Windows或Linux操作系统,构建Spark开发环境的思路一致,基于Eclipse或Idea,通过Java、Scala或Python语言进行开发。安装之前需要提前准备好JDK、Scala或Python环境,然后在Eclipse中下载安装Scala或Python插件。

3.2.1 准备环境

准备环境包括JDK、Scala和Python的安装。

1.安装JDK

(1)下载JDK(1.7以上版本)

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html。

(2)配置环境变量(以Windows为例)

新增JAVA_HOME变量,值:C:\Program Files\Java\jdk1.7.0_71。

新增CLASSPATH变量,值:.;%JAVA_HOME%\lib。

增加PATH变量,补充;%JAVA_HOME%\bin。

进入cmd界面测试JDK是否安装成功。

            C:\Users\admin>java -version
            java version "1.7.0_71"
            Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

2.安装Scala

下载Scala(2.10以上版本),下载地址:http://www.scala-lang.org/download/。

安装完毕配置环境变量,增加PATH变量,补充C:\Program Files (x86)\scala\bin;。

进入cmd界面测试Scala是否安装成功。

            C:\Users\admin>scala
            Welcome to Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_7
            Type :help for more information.

3.安装Python

下载Python,下载地址:https://www.python.org/downloads/。

安装完毕配置环境变量,增加PATH变量,补充C:\Python33;。

进入cmd界面测试Python是否安装成功。

            C:\Users\admin>python
            Python 3.3.5 (v3.3.5:62cf4e77f785, Mar   9 2014, 10:37:12) [MSC v.1600 32 bit
            (Intel)] on win32
            Type "help", "copyright", "credits" or "license" for more information.

3.2.2 构建Spark的Eclipse开发环境

使用Eclipse进行Spark开发,需要安装Scala和Python插件,安装步骤如下:

1)安装Eclipse,在官网下载Eclipse,解压缩到本地后直接使用即可。

2)安装Scala插件,打开Eclipse,依次选择“Help”→“Install New Software…”,在选项里填入http://download.scala-ide.org/sdk/e38/scala210/stable/site/,并按回车键,如图3-1所示,选择Scala IDE for Eclipse和Scala IDE for Eclipse development support,完成Scala插件在Eclipse上的安装。

图3-1 Eclipse安装Scala插件

3)安装Python插件,与安装Scala插件一样,打开Eclipse,利用Eclipse Update Manager安装PyDev。在Eclipse菜单栏中找到Help栏,选择“Help”→“Install New Software”命令,在弹出的Install界面中点击“Add”按钮,会弹出“Add Repository”界面,在名称项输入PyDev;在链接里输入地址,如https://dl.bintray.com/fabioz/pydev/all/,然后点击“OK”按钮。接下来,Eclipse的Update Manager将会在刚才输入的站点中搜索安装包,选中搜索出的结果PyDev,并点击“Next”按钮,等待一段时间,PyDev会安装成功。

安装完毕PyDev之后,配置Python/Jython解释器,在Eclipse菜单栏中,选择“Window”→“Preferences”→“Pydev”→“Interpreter - (Python/Jython)”命令。

重启Eclipse使安装生效。

3.2.3 构建Spark的IntelliJ IDEA开发环境

除了使用Eclipse进行Spark程序开发之外,Spark支持的另外一种开发工具是IntelliJ IDEA;下载地址:http://www.jetbrains.com/idea/。

官方提供了Ultimate版和Community版可供选择,主要区别如下:

1)Ultimate版功能齐全的IDE,支持Web和Enterprise,免费试用30天,由官方提供一个专有的开发工具集和架构支持。

2)Community版支持Java、Groovy、Scala、Android的开发,免费并且开源,由社区进行支持。

作者使用的版本是ideaIC-14.1.4,请选择适合的操作系统进行安装。

提示

如何安装IntelliJ IDEA?

□ Windows :直接运行.exe文件,按照向导步骤操作即可。

□ Mac OS X:打开.dmg包,并复制IntelliJ IDEA到应用文件夹。

□ Linux:解压.tar.gz压缩包,并运行bin/idea.sh(需要在环境变量PATH中加入IDEA目录,并执行source命令使配置文件生效)。

根据实际需求,我们选择Windows系统的Community版本进行Scala程序的开发。步骤包括:安装Scala插件和创建项目并在IDEA中编写Scala代码。

1. 安装Scala插件

① 运行IDEA并安装和配置IDEA的Scala开发插件,启动程序界面如图3-2所示,此时需要选择“Conf igure”,然后进入IDEA的配置页面。

图3-2 选择“Conf igure”

② 在IDEA的配置页面选择“Plugins”(见图3-3),进入插件安装界面。

图3-3 选择“Plugins”

③ 点击安装界面左下角的“Install JetBrains plugin”选项,进入JetBrains插件选择页面,如图3-4所示。

图3-4 JetBrains插件选择页面

(如果网络不稳定,可以提前下载,然后选择“Install plugin from disk”本地加载插件,下载地址:http://www.jetbrains.net/conf luence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA。)④ 在左上方的输入框中输入“Scala”来查找Scala插件,此时点击右侧的“Install plugin”按钮,如图3-5所示。

图3-5 安装Scala Plugin

插件安装完毕,重启IDEA。

2. 创建项目并在IDEA中编写Scala代码

① 进入首页(见图3-2),选择“Create New Project”命令,此时选择左侧列表中的“Scala”选项,为了方便以后的开发工作,选择右侧的“SBT”选项,如图3-6所示。

图3-6 建立Scala的SBT项目

② 点击“Next”按钮进入下一步,设置Scala工程名称和本地目录(见图3-7),选择SDK、SBT、Scala版本,点击“Finish”按钮完成工程的创建。

图3-7 设置工程名称和本地目录

③ 由于在前面选择了“SBT”选项,所以此时IDEA智能地构建SBT工具:点击工程名称“HelloSpark”,可以看到SBT自动创建的一些目录,如图3-8所示。

图3-8 SBT自动创建的一些目录

④ 此时右击src目录下main中的scala,在弹出的“New”菜单下选择“Scala Class”,在弹出的“Create New Scala Class”对话框中输入文件名“HelloSpark”,把Kind选择为“Object”,点击“OK”按钮完成,如图3-9所示。

图3-9 点击“OK”按钮确认创建Object

⑤ 编写“HelloSpark”的源代码,点击代码区,出现下拉菜单视图,选择“Run ‘Hello-Spark’”运行程序,如图3-10所示。

图3-10 选择运行程序的命令

3. 加入Spark开发包

使用IDEA导入外部Jar包,具体步骤:“File”→“Project Structure”→“Modules”→“De pendencies”→+...→“Library...”→“Library Type(Java)”→“Select Library Files”→“Conf igure Library”,以添加spark-assembly-1.5.0-hadoop2.3.0.jar为例,添加步骤如下:

① 点击“File”,选择“Project Structure”,如图3-11所示。

图3-11 选择Project Structure菜单

② 点击“Modules”,选择“Dependencies”,增加“Library”,如图3-12所示。

图3-12 选择添加依赖库

③ 选择依赖库类型“Java”,如图3-13所示。

图3-13 选择依赖库类型(Java)

④ 通过“Select Library Files”,选择“spark-assembly-*-*.jar”,如图3-14所示。

图3-14 选择spark-assembly-1.5.0-hadoop2.3.0.jar

选择完毕进行Spark开发包加载。

4. JDK路径错误处理

如果SBT出现如图3-15提示,这是由于没有设置Java的JDK路径。

图3-15 出现JDK路径错误

请点击最右侧的“Project Structure”,如图3-16所示,进入视图,并配置项目JDK。

图3-16 配置Project Structure

选择最左侧的“Project”选项,并选择“No SDK”的“New”如图3-17所示,选择项目JDK为1.7。

图3-17 选择JDK

重启IDEA,问题解决。

5. SBT下载不完整问题处理

如果不能出现完整的SBT目录,选择“View”目录的下拉菜单“Tool Windows”目录,选择“SBT”,如图3-18所示。

图3-18 选择SBT目录

然后刷新SBT tasks,如图3-19所示。

图3-19 点击刷新按钮

如果完整目录还是不可见,可以查看具体日志,然后将需要下载的sbt包下载下来,放到相应的目录,一般是当前用户的.ivy2目录,然后删除HelloSpark项目,重新建项目。

最终可以见到完整的SBT路径。

6. IDEA生成Jar包

使用IDEA编译class文件,同时可以将class打包成Jar文件,方法如下:

① 选择菜单“File”→“Project Structure”,弹出“Project Structure”的设置对话框;

② 选择左边的“Artifacts”,点击上方的“+”按钮;

③ 在弹出的对话框中选择“Jar”→“from moduls with dependencies”;

④ 选择要启动的类,然后确定;

⑤ 应用之后选择菜单“Build”→“Build Artifacts”,选择“Build”或者“Rebuild”后即可生成,生成的Jar文件位于工程项目目录的out/artifacts下。