Windows + IDEA + SBT 打造Spark源码阅读环境

来源:互联网 发布:hbase不直接删除数据 编辑:程序博客网 时间:2024/05/01 20:28

Spark源码阅读环境的准备

      Spark源码是有Scala语言写成的,目前,IDEA对Scala的支持要比eclipse要好,大多数人会选在在IDEA上完成Spark平台应用的开发。因此,Spark源码阅读的IDE理所当然的选择了IDEA。

      本文介绍的是Windows下的各项配置方法(默认已经装了java,JDK)。

      下面列举搭建此环境需要的各个组件:

  • IDEA,有两个版本:Ultimate Edition & Community Edition,后者是free的,而且完全能满足学习者所有的需求
  • Scala,Spark是用Scala语言写成的,在本地编译执行需要这个包
  • SBT,scala工程构建的工具
  • Git,IDEA自动下载SBT插件时可能会用到的工具
  • Spark Source Code,Spark源码

      下载各个安装包。

Spark源码阅读环境的安装步骤


      安装Scala。

      完成后,在windows命令行中输入scala,检查是否识别此命令。
如果不识别,查看环境变量Path中是否有....\scala\bin(我的电脑右键,属性 -> 高级系统设置 -> 环境变量),没有的手动将Scala文件夹下的bin目录的路径

安装SBT

      运行SBT的安装程序,运行完成后,重新打开windows命令行,输入sbt,检查是否识别此命令。没有的话,手动配置环境变量,添加...\sbt\bin

      运行完SBT的安装程序之后,并不意味着完成了sbt的安装,在windows命令放下输入sbt后,SBT会自动的下载安装它所需要的程序包,请耐心等待全部下载成功。

安装Git

      运行Git的安装程序,安装完成后,重新打开windows命令行,检查时候识别git命令。

安装IDEA

安装IDEA的Scala插件

      打开IDEA,在‘Welcome to IntelliJ IDEA’界面的‘Quick Start’栏,点击Configure,选择Plugins

      在弹出的窗口中可以看到已安装的插件,现在IDEA默认还没有Scala的插件。需要点击左下角的Install JetBrains plugin...,在搜索框中输入‘scala’,点击安装。安装完成后可能会要求重启一下IDEA。

从 Github 导入 Spark 工程

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



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

(若无法找到VCS→Check out from Version Control→Git

则进入Setting  搜索Version Control 勾选Git选项)


编译 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 来进行编译,并且编译的时间不会像第一次编译那么长。如果你有任何问题,欢迎评论交流!


2 0