前段时间写了几篇使用Eclipse构建Spark源码阅读和开发环境的文章。经过一段时间的试用,发现Eclipse在Scala支持方面很不完善,体验非常差,因此转而使用Intellij IDEA,本文介绍如何使用Intellij IDEA构建Spark源码阅读和开发环境。

1.准备工作

依次选择“Configure” –> “Plugins” –> “Browse repositories”,输入scala,然后安装即可

2.搭建Spark源码阅读环境(需要联网)

一种方法是直接依次选择“import project”à 选择spark所在目录 à “SBT”,之后intellij会自动识别SBT文件,并下载依赖的外部jar包,整个流程非常长,取决于你的网络情况(不建议在windows下操作,可能遇到各种问题),一般几十分钟到几个小时。注意,下载过程会用到git,因此应该事先安装了git。

第二种方法是首先在linux操作系统上生成intellij项目文件,然后在intellij IDEA中直接通过“Open Project”打开项目即可。在linux上生成intellij项目文件的方法(需要安装git,不需要安装scala,sbt会自动下载)是:在spark源代码根目录下,输入sbt/sbt gen-idea

注:如果你在windows下阅读源代码,可以在linux下生成项目文件,然后导入到windows中的intellij IDEA中。

3.搭建Spark开发环境

在intellij IDEA中创建scala project,并依次选择“File” –> “project structure” –> “Libraries”,选择“+”,将spark-hadoop 对应的包导入,比如导入spark-assembly_2.10-0.9.0-incubating-hadoop2.2.0.jar(只需导入该jar包,其他不需要),如果IDE没有识别scala 库,则需要以同样方式将scala库导入。之后开发scala程序即可:

编写完scala程序后,可以直接在intellij中,以local模式运行,方法如下:

点击“Run” –> “Run Configurations”,在弹出的框中对应栏中填写“local”,表示将该参数传递给main函数,如下图所示,之后点击“Run” –> “Run”运行程序即可。

如果想把程序打成jar包,通过命令行的形式运行在spark 集群中,可以按照以下步骤操作:

依次选择“File” –> “Project Structure” –> “Artifact”,选择“+” –> “Jar” –> “From Modules with dependencies”,选择main函数,并在弹出框中选择输出jar位置,并选择“OK”。

最后依次选择“Build” –> “Build Artifact”编译生成jar包。具体如下图所示。

原创文章,转载请注明: 转载自董的博客

本文链接地址: Apache Spark探秘:利用Intellij IDEA构建开发环境

微信公众号:hadoop-123,专注于大数据技术分享,欢迎加入!

说点什么

avatar
  Subscribe  
提醒