更多腾讯海量技术文章,请关注云加社区:https://cloud.tencent.com/developer
作者:李军
1 搭建开发环境
本文描述了在Windows下用IntelliJ IDEA搭建Spark开发环境,以及在本地和YARD上运行Spark应用。
1.1 安装IntelliJ IDEA
下载并安装Community版本的IDEA。Community版本的IDEA是免费的,下载地址:https://www.jetbrains.com/idea/。
1.2 创建Spark项目
首先安装Scala插件,点击菜单栏 File ->Settings -> Plugins,搜索scala,点击右侧Install即可:
我们是通过Maven Archetype创建Spark工程的,创建Spark项目之前需先添加新的Archetype,点击菜单栏File -> New -> Project…,选择Maven项目,点击Add Archetype:
ArtifactId: scala-archetype-simple
Version: 1.6
只需手工添加一次Archetype。
然后创建Spark工程的,点击菜单栏File -> New -> Project…,选择刚才添加的Archetype:
填好相关参数,一路Next,等IDEA初始化完成后,得到如下的项目结构:
1.3 编译
YARD的Spark版本是2.0.1,Scala版本是2.11.8。编译前需修改pom.xml的内容,否则会导致编译错误。在pom.xml的中,把 scala.version 改成2.11.8:
在pom.xml的中,添加对Spark的依赖:
修改App.scala,添加Spark Examples中SparkPi的代码做演示:
点击菜单栏 Build ->Build Project(Ctrl + F9)编译工程,得到如下的错误提示:
这个错误是因为我们用的scala版本的编译器已经不支持该编译选项了,解决办法是打开pom.xml,查找到该行,删掉即可。
重新编译项目(Ctrl + F10),没有错误了,编译成功,编译结果保存在 traget目录下。
1.4 打包
在YARD上运行Spark应用需要上传jar文件,IDEA打包jar文件也很方便,打开Execute Maven Goal对话框:
填入打包命令clean package –DskipTests ,点击Execute:
等IDEA构建完成,在target目录下得到jar包:
2 运行Spark应用
2.1 本地运行
IDEA支持在本地运行Spark应用,非常便于测试和调试。要在本地运行Spark应用,只需在创建SparkConf时设置其Master为local即可:
val conf = new SparkConf() .setAppName("yourAppName") .setMaster("local")
点击菜单栏Run -> Run…(Alt + Shift + F10)运行,在大段的Spark日志中得到SparkPi的运行结果:
由于在YARD上运行时不能设置Master为local,有个小技巧兼容这种情况,即根据操作系统类型来创建SparkConf:
使用这个技巧的前提是本地开发的系统是Windows,生产环境是Linux。
3 参考资料
Scala
http://www.scala-lang.org/api/2.11.8/
https://twitter.github.io/scala_school/
Spark
http://spark.apache.org/docs/2.0.1/
http://spark.apache.org/docs/2.0.1/api/scala/index.html
Spark性能调优
https://www.zybuluo.com/xiaop1987/note/76737
https://www.zybuluo.com/xiaop1987/note/102894
领取专属 10元无门槛券
私享最新 技术干货