Spark源码编译与导入IDEA调试

时间:2024-05-31 15:35:43

最近闲来,下载了spark源码编译调试一下,看看最新的东西。。。

一、下载源码

地址:http://spark.apache.org/downloads.html   

选择源码包下载 https://archive.apache.org/dist/spark/spark-2.3.1/spark-2.3.1.tgz

二、环境准备

1、一个Linux系统环境

2、在Linux系统上安装Java8(及以上)

3、在Linux系统上安装scala 2.11.8(及以上)

4、在Linux系统上安装maven 3.3.9(及以上)

5、IDEA   window或Linux都可以

三、编译spark代码

1、解压缩  tar -zxvf spark-2.3.1.tgz  ,进入到spark根目录下  cd spark-2.3.1/

2、编译,可以参考官方文档 http://spark.apache.org/docs/latest/building-spark.html

build/mvn -T 8 -DskipTests clean package (-T 参数指定8个线程编译,根据自己计算机的性能而定,DskipTests 跳过tests)

注:如果编译失败,反复执行此命令,编译过程中会下载包,编译时间根据网络而定(可以配上阿里云的maven镜像)

Spark源码编译与导入IDEA调试

编译完成后测试一下

./bin/spark-shell

四、将编译完成的spark源码导入IDEA

如果你要在window上调试,就把编译好的spark源码导出到你得window上面,再导入

Spark源码编译与导入IDEA调试

Spark源码编译与导入IDEA调试

以下全是next

Spark源码编译与导入IDEA调试

导入成功后,试运行一下spark给定的实例,在examples下面,有Java和Scala版本的

Spark源码编译与导入IDEA调试

以JavaWordCount为例:

编辑参数

Spark源码编译与导入IDEA调试

Spark源码编译与导入IDEA调试

然后运行,这里会等一会儿,因为需要build一下,耐心等待,build完成后,运行可能会报各种找不到类的错误,此时添加依赖包

Spark源码编译与导入IDEA调试

Spark源码编译与导入IDEA调试

Spark源码编译与导入IDEA调试

再次运行成功

Spark源码编译与导入IDEA调试

后面一起调试spark的源码