Scala编程与实践Spark深入学习

【Spark】配置Spark源码阅读环境

2015-05-28  本文已影响2955人  JasonDing

Scala构建工具(SBT)的使用

SBT介绍

SBT是Simple Build Tool的简称,如果读者使用过Maven,那么可以简单将SBT看做是Scala世界的Maven,虽然二者各有优劣,但完成的工作基本是类似的。
虽然Maven同样可以管理Scala项目的依赖并进行构建,但SBT的某些特性却让人如此着迷,比如:

  • 使用Scala作为DSL来定义build文件(one language rules them all);

工程结构

目录结构

sbt 和 Maven 的默认的源文件的目录结构是一样的(所有的路径都是相对于基础目录的):

src/
  main/
    resources/  目录存放相应的资源文件
       <files to include in main jar here>
    scala/  目录存放Scala源代码文件
       <main Scala sources>
    java/   目录存放Java源代码文件 
       <main Java sources>
  test/
    resources   目录存放测试起见使用到的资源文件
       <files to include in test jar here>
    scala/  目录存放scala语言书写的测试代码文件
       <test Scala sources>
    java/   目录存放Java语言书写的测试代码文件
       <test Java sources>

sbt 完全按照约定工作。sbt 将会自动找到以下内容:
项目根目录下的源文件
src/main/scala 或 src/main/java 中的源文件
src/test/scala 或 src/test/java 中的测试文件
src/main/resources 或 src/test/resources 中的数据文件
lib 中的 jar 文件

SBT命令

clean 删除所有生成的文件 (在 target 目录下)。
compile 编译源文件(在 src/main/scala 和 src/main/java 目录下)。
test 编译和运行所有测试。
console 进入到一个包含所有编译的文件和所有依赖的 classpath 的 Scala 解析器。输入 :quit, Ctrl+D (Unix),或者 Ctrl+Z (Windows) 返回到 sbt。
run <参数>* 在和 sbt 所处的同一个虚拟机上执行项目的 main class。
package 将 src/main/resources 下的文件和 src/main/scala 以及 src/main/java 中编译出来的 class 文件打包成一个 jar 文件。
help <命令> 显示指定的命令的详细帮助信息。如果没有指定命令,会显示所有命令的简介。
reload 重新加载构建定义(build.sbt, project/*.scala, project/*.sbt 这些文件中定义的内容)。在修改了构建定义文件之后需要重新加载。

导入Spark工程

首先下载Spark源码并解压到本地。
打开IDEA,在菜单栏中选择File下的New,选择Project from Existing Sources,找到解压后的Spark工程文件夹。
选择Import project from external model中的SBT project
下一步选择Project SDK为JDK,最好勾上Use auto-import,然后点击完成。这时,IDEA会自动下载安装SBT所需的各种包,没有装Git可能会报错。

因为Spark是一个比较大的工程,所需的包也很多,这个过程也会特别慢,请耐心等待。
导入完成后,自动打开工程,要等一段时间,等待sbt对这个工程进行编译。

安装IntelliJ IDEA的编辑器主题配色

可以从IDEA的主题网站下载想要的主题,格式jar文件。
在IDEA的File-->Import Settings-->选择jar包,完成导入。
最后在Settings-->Editor-->Colors & Fonts中选择就可以了。

参考资料

转载请注明作者Jason Ding及其出处
GitCafe博客主页(http://jasonding1354.gitcafe.io/)
Github博客主页(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)
百度搜索jasonding1354进入我的博客主页

上一篇 下一篇

猜你喜欢

热点阅读