今天看到 Spark 有一个挺好玩的 PR,打算本地合进来测试一下,那么这样就涉及到重新编译 Spark 的操作了。 看着本子已经挂着 Docker For Mac,打开 Kubernetes 已经吃掉了 8G 内存,还有若干 IDEA 打开着,我的本子一直呼呼在叫。 想起来以前在公司都是拿着测试服务器来做打包编译这些杂事的,所以到服务器上配置一下就好。 当然很多公司的服务器都是跟外网隔离的,但是幸运的是这些公司都会部署一个内网的 Maven 私有仓库,虽然有些公司自行开发内核,很多环境连 JDK 都没有,所以如果你需要跑 Spark 程序,你只需要 JRE 就够了,但是如果你需要在服务器上编译 Spark,那么你是需要 JDK 的。 不管怎么样,只要不限制上传文件,就可以把官网的 JDK 上传,安装好 Java 和 Maven,然后就可以搞起了。 最好的加速方法就是,有个专门的打包服务器,毕竟 Maven 是支持多线程构建的,而且测试服务器的资源,一般来说,都会比你本子多得多,如果有专用的拿来玩的服务器,那就更爽啦。
代码语言:javascript复制> mvn -T 8 -Pkubernetes -DskipTests clean package
-T 啥意思呢,看下面?
代码语言:javascript复制> mvn -h
...
-T,--threads <arg> Thread count, for instance 2. where C is core multiplied
....
当然了,Spark 官方也有提供一些 Maven 配置的 Tips,可以参考下。
SBT 的动态编译一直都很骚,有空再说说。