关闭

如何使用intellij搭建spark开发环境(下)

标签: scalaintellij ideaintellijspark
692人阅读 评论(0) 收藏 举报
分类:

本文转自http://www.beanmoon.com/2014/10/11/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8intellij%E6%90%AD%E5%BB%BAspark%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%EF%BC%88%E4%B8%8B%EF%BC%89/,所有权力归原作者所有。


(接上文)上一篇如何使用intellij搭建spark开发环境(上)已经部分概述了在intellij中搭建spark开发环境的方法,不过需要注意的是上文中所有示例程序都是本地运行的,那么如何将spark程序在集群上运行呢?

(3) 将spark程序打包

目前为止,我还没有找到在intellij中让spark直接在集群中运行的方法,通常的做法是先用intellij把已经编写好的spark程序打包,然后通过命令spark-submit的方式把jar包上传到集群中运行。

生成程序包之前要先建立一个artifacts,File -> Project Structure -> Artifacts  -> + -> Jars -> From moudles with dependencies,然后随便选一个class作为主class。

Screen Shot 2014-10-11 at 8.04.44 PM

按OK后,对artifacts进行配置,修改Name为hello1,删除Output Layout中hello1.jar中的几个依赖包,只剩hello1项目本身:

Screen Shot 2014-10-11 at 8.07.11 PM

按OK后, Build -> Build Artifacts -> hello1 -> build进行打包,经过编译后,程序包放置在out/artifacts/hello1目录下,文件名为hello1.jar。

(4) 将jar包提交到集群中运行

在命令行中通过spark-submit方法提交任务即可:

spark-submit --class hello1.SparkPi --master spark://localhost:7077 out/artifacts/hello1/hello1.jar

其中–class参数制定了我们刚才已打jar包的主类, –master参数制定了我们spark集群中master实例的身份。关于spark-submit参数的更多用法,可以通过spark-submit  –help命令查看。

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

刚才我们自己实现了一个spark的应用程序,如果想要窥视下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中。

 

参考链接:

http://www.aboutyun.com/thread-8404-1-1.html

http://dongxicheng.org/framework-on-yarn/apache-spark-intellij-idea/

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:282650次
    • 积分:3405
    • 等级:
    • 排名:第9920名
    • 原创:41篇
    • 转载:252篇
    • 译文:6篇
    • 评论:13条