文档章节

使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码

鄂世嘉
 鄂世嘉
发布于 2015/01/23 15:03
字数 744
阅读 3220
收藏 51

准备工作

首先你的系统中需要安装了 JDK 1.6+,并且安装了 Scala。之后下载最新版的 IntelliJ IDEA 后,首先安装(第一次打开会推荐你安装)Scala 插件,相关方法就不多说了。至此,你的系统中应该可以在命令行中运行 Scala。我的系统环境如下:

  1. Mac OS X(10.9.5)
  2. JDK 1.7.71
  3. Scala 2.10.4
  4. IntelliJ IDEA 14
另外,最后还是建议大家开始先使用 pre-built 的 Spark,对 Spark 的运行、使用方法有所了解,编写了一些 Spark 应用程序后再展开源代码的阅读,并尝试修改源码,进行手动编译。

从 Github 导入 Spark 工程

打开IntelliJ IDEA 后,在菜单栏中选择 VCS→Check out from Version Control→Git,之后在 Git Repository URL 中填入 Spark 项目的地址,并指定好本地路径,如下图所示。

点击该窗口中的的 Clone 后,开始从 Github 中 clone 该项目,该过程试你网速而定,大概需要3-10分钟。

编译 Spark

当 clone 完毕后,IntelliJ IDEA 会自动提示你该项目有对应的 pom.xml 文件,是否打开。这里直接选择 Open 该 pom.xml 文件,然后系统会自动解析项目的相关依赖,该步骤也会因你的网络和系统相关环境,所需时间不同。

该步骤完成之后,请手动编辑 Spark 根目录下的 pom.xml 文件,找到其中指定 java 版本的那一行(java.version),根据你的系统环境,如果使用的是 jdk1.7 ,那么或许需要你将其值改成1.7(默认是1.6)。

之后打开 shell 终端,在命令行中进入刚才导入的 spark 项目根目录,执行

sbt/sbt assembly

该编译命令将全部采用默认的配置来编译 Spark,若想指定相关组件的版本,可以查看 Spark 官网中的 Build-Spark(http://spark.apache.org/docs/latest/building-spark.html),查看所有常用的编译选项。该过程目前不需要 VPN 即可完成,为了预估编译所需的时间,你可以在新开一个 shell 终端,不断查看 spark 项目目录的大小,我最终采用默认配置,编译成功后的 spark 目录大小为2.0G。

结束语

至此,为了检验你的编译结果,可以在命令行中进入 spark/bin 目录,运行 spark-shell,若一切都正常启动,则编译成功。若你修改了 Spark 的源码,可以重新使用 sbt 来进行编译,并且编译的时间不会像第一次编译那么长。如果你有任何问题,欢迎评论交流!

© 著作权归作者所有

共有 人打赏支持
鄂世嘉

鄂世嘉

粉丝 18
博文 13
码字总数 12997
作品 0
嘉定
私信 提问
加载中

评论(3)

数学熊猫
数学熊猫
搞定!
jnuc093
jnuc093
两个g东西不小。
jnuc093
jnuc093
两个g东西不小。
IntelliJ IDEA Spark源码分析

在对 Spark 有了一定使用经验后,为了能够跟进 Spark 源代码的开发进展,对其源代码进行详细的阅读分析,本文详细说明了如何使用 IntelliJ IDEA 从 Github 上导入最新的 Spark 源代码,并对其...

MoksMo
2015/11/05
0
0
IDEA导入spark源代码调试

获取源码 官网下载源码到本地后,需要先进行编译,参考官方文档,编译很简单,这里使用4个线程,跳过tests,以此加速编译。这个编译会产生一些必要的源代码,如Catalyst项目下的,所以是必要...

火力全開
2017/10/26
0
0
Windows + IDEA + SBT 打造Spark源码阅读环境

http://guozhongxin.com/pages/2014/10/15/sparksourcecode.html Spark源码阅读环境的准备 Spark源码是有Scala语言写成的,目前,IDEA对Scala的支持要比eclipse要好,大多数人会选在在IDEA上...

chenhao_asd
04/25
0
0
Spark On Yarn Cluster 模式下的远程调试Spark源码(Attach模式)

Spark源码学习时,我们通常很想知道Spark-submit提交之后,Spark都做了什么,这就需要我们对Spark源码进行单步调试。另外,我们在spark on yarn模式下,尤其是yarn-cluster模式下,我们无法连...

stefan_xiepj
05/24
0
0
Windows 下Spark 快速搭建Spark源码阅读环境

最近开始学习Spark,想搭建一个Spark的源码阅读环境。找了一些资料。如 http://m.blog.csdn.net/blog/zhongwen7710/42401445 和 http://guozhongxin.com/pages/2014/10/15/sparksourcecode....

我是彩笔
2015/11/19
0
1

没有更多内容

加载失败,请刷新页面

加载更多

css hack

浏览器的兼容性一直是个头疼的问题,使用“欺骗”技术可使各个浏览器效果一致,花了些时间整理了各个浏览器的HACK,主要包括IE系列和最新版本的Chrome、Safari、Firefox、 Opera,比较全面的...

kitty1116
14分钟前
0
0
zookeeper脑裂问题

一、为什么zookeeper要部署基数台服务器? 二、zookeeper脑裂(Split-Brain)问题 2.1、什么是脑裂? 2.2、什么原因导致的? 2.2、zookeeper是如何解决的? 一、为什么zookeeper要部署基数台...

tantexian
20分钟前
1
0
Spring事务传播行为详解

前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的...

码代码的小司机
30分钟前
2
0
Android设备通过fastboot刷入TWRP

方法一:通过fastboot刷入TWRP的方式 首先去TWRP官网下载TWRP安装文件https://twrp.me/Devices/ 1.进入bootloader adb reboot bootloader 也可在开机时,同时按住电源键+音量减,进入bootloa...

robslove
35分钟前
0
0
为何译为“东家机”和“宾客机”

学习过虚拟化、云计算的人大概都知道,并且都在自己的电脑上安装KVM,如下图所示: 什么情况?不过是在物理机的Windows 10上安装了VMware;在VMware上安装了Linux CentOS 7操作系统;又在其上...

大别阿郎
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部