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

92 篇文章 1 订阅
51 篇文章 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/,所有权力归原作者所有。

(吐槽一句,CSDN这个排版也是醉了,修改文章经常遇到排版就乱了)

(接上文)上一篇如何使用IntelliJ IDEA搭建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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值