Idea 编译并运行 Spark 3.1.1 源码
1、下载源码
直接使用 idea clone spark 源码,git 地址: https://github.com/apache/spark.git
如果网络连接不上github的话可以去官网下载源码压缩包。下载地址:https://archive.apache.org/dist/spark/
clone 或 import 之后会有 maven 和 sbt 两个选项导入,直接识别成 maven 项目,checkout自己需要的版本,我本次编译版本为3.1分支
2、编译源码
直接使用 idea 页面 ui 编译,找到 Spark Project Parent POM 然后点击 clean 和 package,勾选上 skipTest。
编译过程中,报了如下异常:
这是maven插件的问题,我们跳过这个的功能,使用如下maven 语句编译:
mvn clean package -DskipTests -Denforcer.skip=true
编译过程中,又抛了如下异常:
Execute failed: java.io.IOException: Cannot run program “bash” (in directory “D:\Develop\workspace\spark\core”): CreateProcess error=2, 系统找不到指定的文件。
这个是本地Windows环境不能执行bash导致的,需要本机安装Git工具, 将git路径添加到系统环境变量 Path 中,然后重启电脑就可以解决。
之后就等待编译完成即可,可能时间有点长,15分钟左右。
3、运行源码
尝试根据官网案例运行代码
运行 ./bin/run-example SparkPi 10
命令报找不到 HADOOP_HOME,配置一下HADOOP_HOME,然后重启电脑即可。
配置完成之后,运行成功
spark shell 也可以正常启动,证明我们的代码可以正常运行了,更多的操作就留给大家自己操作了,下面就可以正常的进行代码debug查看源码了。