最近闲来,下载了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镜像)
编译完成后测试一下
./bin/spark-shell
四、将编译完成的spark源码导入IDEA
如果你要在window上调试,就把编译好的spark源码导出到你得window上面,再导入
以下全是next
导入成功后,试运行一下spark给定的实例,在examples下面,有Java和Scala版本的
以JavaWordCount为例:
编辑参数
然后运行,这里会等一会儿,因为需要build一下,耐心等待,build完成后,运行可能会报各种找不到类的错误,此时添加依赖包
再次运行成功
后面一起调试spark的源码