Spark发展至今已经相当成熟了,编译起来也相当方便。
SBT编译由于国内网络问题不能连接Maven中央仓库,想用SBT编译的同学可以改userhome目录下的repository文件连接Oschina和aliyun仓库,这两个仓库我都试过结果还是没连上,所以改为使用maven编译。
环境为Win10
版本为2.3.0
准备环境:Maven、Git
配置Git/bin目录Maven/bin和到Path路径
首先到Github上下载源代码
https://github.com/apache/spark
在cmd中输入bash命令,打开bash窗口,进入源代码目录,注意是win电脑也是/正斜杠。
$ cd E:/Download/spark-2.3.0
输入maven命令尝试编译
mvn -DskipTests clean package
漫长的等待....
遇到问题1:
spark-parent_2.11: Some Enforcer rules have failed. Look above forspecific messages explaining why the rule failed. -> [Help 1].
Maven版本与Spark源码中的pom文件中的Maven版本不一致,修改源码中pom文件的Maven版本为本机版本,mvn -version命令查看Maven版本信息。
遇到问题2:
Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (default) on project spark-core_2.11: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "bash" (in directory "C:\soft\spark\spark-2.0.0\core"): CreateProcess error=2,
这个问题是缺失bash命令,如果出现这种问题则需要安装Git并配置bin目录到Path路径。