《Spark核心技术与高级应用》——3.2节构建Spark的开发环境

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 FilesJavajdk1.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)scalabin;。
进入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)安装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的配置页面。

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

插件安装完毕,重启IDEA。
2.?创建项目并在IDEA中编写Scala代码
①?进入首页(见图3-2),选择“Create New Project”命令,此时选择左侧列表中的“Scala”选项,为了方便以后的开发工作,选择右侧的“SBT”选项,如图3-6所示。

③?由于在前面选择了“SBT”选项,所以此时IDEA智能地构建SBT工具:点击工程名称“HelloSpark”,可以看到SBT自动创建的一些目录,如图3-8所示。
④?此时右击src目录下main中的scala,在弹出的“New”菜单下选择“Scala Class”,在弹出的“Create New Scala Class”对话框中输入文件名“HelloSpark”,把Kind选择为“Object”,点击“OK”按钮完成,如图3-9所示。
   

3.?加入Spark开发包
使用IDEA导入外部Jar包,具体步骤:“File”→“Project Structure”→“Modules”→“Dependencies”→+...→“Library...”→“Library Type(Java)”→“Select Library Files”→“Conf?igure Library”,以添加spark-assembly-1.5.0-hadoop2.3.0.jar为例,添加步骤如下:
①?点击“File”,选择“Project Structure”,如图3-11所示。

④?通过“Select Library Files”,选择“spark-assembly--.jar”,如图3-14所示。
选择完毕进行Spark开发包加载。
4.?JDK路径错误处理
如果SBT出现如图3-15提示,这是由于没有设置Java的JDK路径。
请点击最右侧的“Project Structure”,如图3-16所示,进入视图,并配置项目JDK。
选择最左侧的“Project”选项,并选择“No SDK”的“New”如图3-17所示,选择项目JDK为1.7。

重启IDEA,问题解决。
5.?SBT下载不完整问题处理
如果不能出现完整的SBT目录,选择“View”目录的下拉菜单“Tool Windows”目录,选择“SBT”,如图3-18所示。

如果完整目录还是不可见,可以查看具体日志,然后将需要下载的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下。

时间: 2024-12-23 19:18:23

《Spark核心技术与高级应用》——3.2节构建Spark的开发环境的相关文章

《Spark核心技术与高级应用》——第2章Spark部署和运行

第2章Spark部署和运行合抱之木,生于毫末:九层之台,起于累土:千里之行,始于足下.--<道德经>第六十四章合抱的粗木,是从细如针毫时长起来的:九层的高台,是一筐土一筐土筑起来的:千里的行程,是一步又一步迈出来的.那么,Spark高手之路,是从Spark部署和运行开始的,只要坚持,就一定会有收获!对于大部分想学习Spark的人而言,如何构建稳定的Spark集群是学习的重点之一,为了解决构建Spark集群的困难,本章内容从简入手,循序渐进,主要包括:部署准备工作.本地模式部署.独立模式部署.Y

《Spark核心技术与高级应用》——第3章Spark程序开发

第3章Spark程序开发致虚极,守静笃.万物并作,吾以观复.--<道德经>第十六章这世间,一切原本都是空虚而宁静的,万物也因而能够在其中生长.因此,要追寻万物的本质,必须恢复其最原始的虚静状态,只有致虚和守静做到极笃的境地,万物才能蓬勃生长,往复循环.作为程序员,怎么提倡超越都不为过,但落地到具体问题,我们需要有比较实际的措施.从简单程序开始,以致虚和守静的心态,清空自己在大数据方向不劳而获的幻想,逐步成长为业内有影响力的角色.对于大部分程序员而言,本章内容略显基础,首先通过Spark交互Sh

《Spark核心技术与高级应用》——第1章Spark简介

第1章Spark简介上善若水,水善利万物而不争.--<道德经>第八章数据一如水,无色无味,非方非圆,以百态存于自然,于自然无违也.绵绵密密,微则无声,巨则汹涌:与人无争却又容纳万物.生活离不开水,同样离不开数据,我们被数据包围,在数据中生活.当数据越来越多时,就成了大数据.想要理解大数据,就需要理解大数据相关的查询.处理.机器学习.图计算和统计分析等,Spark作为新一代轻量级大数据快速处理平台,集成了大数据相关的各种能力,是理解大数据的首选.现在,让我们以向大师致敬的方式开始学习之旅,向Do

《Java和Android开发实战详解》——1.3节Java语言的开发环境

1.3 Java语言的开发环境 Java和Android开发实战详解 编程语言的"开发环境"(Development Environment)指的是一组工具程序,可用来创建.编译和维护编程语言所构建的应用程序.一般来说,我们可以使用两种Java开发环境来创建Java应用程序. 1.终端机模式的开发环境 或称为"命令行模式",对于传统MS-DOS或UNIX.Linux系统的用户,程序执行时的输入数据和输出数据都是使用"命令行界面"(Command-

《Spark核心技术与高级应用》——1.2节Spark的重要扩展

1.2 Spark的重要扩展 大家知道,在Hadoop中完成即席查询(ad-hoc queries).批处理(batch processing),流式处理(stream processing),需要构建不同的团队,每个团队需要不同的技术和经验,很难做到共享.而Spark实现了平台融合,一个基础平台解决所有的问题,一个团队拥有相同的技术和经验完成所有的任务. 基于Spark的基础平台扩展了5个主要的Spark库,包括支持结构化数据的Spark SQL.处理实时数据的Spark Streaming.

《Spark核心技术与高级应用》——1.1节什么是Spark

1.1 什么是Spark说起大数据,很多人会想起Doug Cutting以自己儿子玩具小象命名的开源项目Hadoop.Hadoop解决了大多数批处理工作负载问题,成为了大数据时代企业的首选技术.但随着大数据时代不可逆的演进,人们发现,由于一些限制,Hadoop对一些工作负载并不是最优选择,比如:缺少对迭代的支持:中间数据需输出到硬盘存储,产生了较高的延迟.探其究竟,MapReduce设计上的约束比较适合处理离线数据,在实时查询和迭代计算上存在较大的不足,而随着具体业务的发展,业界对实时查询和迭代

《Spark核心技术与高级应用》——2.2节Spark部署

2.2 Spark部署Spark部署主要包括Local模式部署.Standalone模式部署.YARN模式部署.Mesos模式部署(参考官方文档).其中,集群部署模式如下:独立部署模式:Spark自带的一种简单集群管理器,使用该集群管理器可以轻松地建立一个集群:Apache Mesos:一个通用的集群管理器,该集群管理器也可以运行MapReduce和服务应用(实际业务没有采取该种架构,本书没有对该模式进行专门讲解,如需要了解,请参考官方文档):Hadoop YARN:Hadoop 2中的资源管理

《Spark核心技术与高级应用》——3.3节独立应用程序编程

3.3 独立应用程序编程不同于使用Spark Shell自动初始化SparkContext的例子,独立应用程序需要初始化一个SparkContext作为程序的一部分,然后将一个包含应用程序信息的SparkConf对象传递给SparkContext构造函数.接下来编写简单应用程序SimpleApp,并描述一些简单的编码流程.3.3.1 创建SparkContext对象编写一个Spark程序,首先创建SparkConf对象,该对象包含应用的信息.SparkConf对象构建完毕,需要创建SparkCo

《Spark核心技术与高级应用》——导读

目 录 前 言 基 础 篇第1章 Spark简介 1.1 什么是Spark1.2 Spark的重要扩展1.3 本章小结第2章 Spark部署和运行2.1 部署准备2.2 Spark部署2.3 运行Spark应用程序2.4 本章小结第3章 Spark程序开发3.1 使用Spark Shell编写程序3.2 构建Spark的开发环境3.3 独立应用程序编程 3.4 本章小结第4章 编程模型4.1 RDD介绍4.2 创建RDD4.3 RDD操作4.4 共享变量4.5 本章小结第5章 作业执行解析5.1