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

简介:

本节书摘来自华章社区《Spark核心技术与高级应用》一书中的第3章,第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)
AI 代码解读

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.
AI 代码解读

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.
AI 代码解读

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会安装成功。


202d721077884acff29d9e7058d2600d9624a0ab

安装完毕PyDev之后,配置Python/Jython解释器,在Eclipse菜单栏中,选择“Window”→

Preferences”→“Pydev”→“Interpreter - (Python/Jython)”命令。
AI 代码解读

重启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的配置页面。


062f48e433fe1cc60269525cbb44bbcd07803c1e

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


406b98a1de5880c34ba571c416413576aa66ba2a

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


f459610c0fcf5c0f6a2d06770aeb7508d84939e6

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


bb22c786241abe935ca05d40aff76da2d0c65225

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所示。


91a23e3843cc349533787f8c9398ec386d2ab2c9

④?通过“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。


0b033d53123c0693217cf0531247904faa79182f

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


5f4934ee2e72748a4041b08cd9aef137c9e17042

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

目录
打赏
0
0
0
0
1408
分享
相关文章
Spark和Flink的区别是什么?如何选择?都应用在哪些行业?
【10月更文挑战第10天】Spark和Flink的区别是什么?如何选择?都应用在哪些行业?
501 1
Spark核心原理与应用场景解析:面试经验与必备知识点解析
本文深入探讨Spark核心原理(RDD、DAG、内存计算、容错机制)和生态系统(Spark SQL、MLlib、Streaming),并分析其在大规模数据处理、机器学习及实时流处理中的应用。通过代码示例展示DataFrame操作,帮助读者准备面试,同时强调结合个人经验、行业趋势和技术发展以展现全面的技术实力。
894 0
阿里云 EMR Serverless Spark 在微财机器学习场景下的应用
面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。
153 15
美的楼宇科技基于阿里云 EMR Serverless Spark 构建 LakeHouse 湖仓数据平台
美的楼宇科技基于阿里云 EMR Serverless Spark 建设 IoT 数据平台,实现了数据与 AI 技术的有效融合,解决了美的楼宇科技设备数据量庞大且持续增长、数据半结构化、数据价值缺乏深度挖掘的痛点问题。并结合 EMR Serverless StarRocks 搭建了 Lakehouse 平台,最终实现不同场景下整体性能提升50%以上,同时综合成本下降30%。
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
Apache Spark的应用与优势:解锁大数据处理的无限潜能
【8月更文挑战第23天】Apache Spark以其卓越的性能、易用性、通用性、弹性与可扩展性以及丰富的生态系统,在大数据处理领域展现出了强大的竞争力和广泛的应用前景。随着大数据技术的不断发展和普及,Spark必将成为企业实现数字化转型和业务创新的重要工具。未来,我们有理由相信,Spark将继续引领大数据处理技术的发展潮流,为企业创造更大的价值。
“Spark Streaming异常处理秘籍:揭秘如何驯服实时数据流的猛兽,守护你的应用稳如泰山,不容错过!”
【8月更文挑战第7天】Spark Streaming 是 Apache Spark 中的关键组件,用于实时数据流处理。部署时可能遭遇数据问题、资源限制或逻辑错误等异常。合理处理这些异常对于保持应用稳定性至关重要。基础在于理解其异常处理机制,通过 DSC 将数据流切分为 RDD。对于数据异常,可采用 try-catch 结构捕获并处理;资源层面异常需优化 Spark 配置,如调整内存分配;逻辑异常则需加强单元测试及集成测试。结合监控工具,可全面提升应用的健壮性和可靠性。
111 3
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
《Spark大数据处理:技术、应用与性能优化》深入浅出介绍Spark核心,涵盖部署、实战与性能调优,适合初学者。作者基于微软和IBM经验,解析Spark工作机制,探讨BDAS生态,提供实践案例,助力快速掌握。书中亦讨论性能优化策略。[PDF下载链接](https://zhangfeidezhu.com/?p=347)。![Spark Web UI](https://img-blog.csdnimg.cn/direct/16aaadbb4e13410f8cb2727c3786cc9e.png#pic_center)
200 1
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
大数据处理框架在零售业的应用:Apache Hadoop与Apache Spark
【8月更文挑战第20天】Apache Hadoop和Apache Spark为处理海量零售户数据提供了强大的支持
116 0
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
本文演示了使用 EMR Serverless Spark 产品搭建一个日志分析应用的全流程,包括数据开发和生产调度以及交互式查询等场景。
56651 7
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等