Spark 1.0 开发环境构建:maven/sbt/idea

时间:2021-07-25 08:42:44

因为我原来对maven和sbt都不熟悉,因此使用两种方法都编译了一下。下面记录一下编译时候遇到的问题。然后介绍一下如果使用IntelliJ IDEA 13.1构建开发环境。

首先准备java环境和scala环境:

1. jdk 1.7

2. scala 2.11.1

1. maven

首先安装maven,我安装的是3.2.3, 可以直接下载binary。解压即可用。需要设置一下环境变量:

export MAVEN_HOME=/project/spark_maven/spark/apache-maven-3.2.3
export MAVEN_OPTS="-Xmx4096m -XX:MaxPermSize=4096m"
export PATH=$PATH:$MAVEN_HOME/bin

由于我的笔记本有16G内存,因此可以给maven比较大的内存。如果MAVEN_OPTS设置的不合理,那么会导致OOM的错误,具体信息可以看这里

使用以下命令编译:

mvn -X -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2.0 -DskipTests clean package

这里使用的是Apache Hadoop 2.2,如果使用比如其他的商业发行版,可以参照官网的信息去编译。

等待一段时间,如果没有error的话,恭喜你编译成功。下面是编译成功的结果:

Spark 1.0 开发环境构建:maven/sbt/idea

2. sbt

sbt编译过程比较慢。如果运行sbt说sbt-launch.jar的错误,那么需要手动的安装以下,可以看这里

实际上使用以下命令既可以开始编译了:

./sbt/sbt assembly

有时候由于网络问题可能导致编译hang在某个地方,或者你重启了,那么下次开始变异前需要删除$HOME/.ivy2/

.sbt.ivy.lock

。然后重启开始。sbt会进行增量编译。

3. IDEA

将sbt导入idea,先做以下准备工作:

./sbt/sbt gen-idea

如果发生了错误,再次进行。现在应该不需要设置代理即可完成了。如果要等待lock,那么参照上述的方法删除lock即可。

然后打开IDEA,点击Import Project:

Spark 1.0 开发环境构建:maven/sbt/idea

选择工程的默认路径后,选择SBT Project

Spark 1.0 开发环境构建:maven/sbt/idea

选择auto即可:

Spark 1.0 开发环境构建:maven/sbt/idea

点击Finish即完成了工程的导入。

下面可以使用IDEA编译以下整个工程:

Spark 1.0 开发环境构建:maven/sbt/idea

4. IDEA的常用快捷键:

command + B:跳到变量/函数定义处。
command + N:查找类
command + Shift + N: 查找文件
快一点了,以后更新吧。