我正在尝试使用sbt从修改后的源代码构建Apache Spark。我实际上只对火花核心做了一些改动,所有其他模块都保持不变。但是,每次我使用命令
构建sparksbt/sbt assembly
它再次编译并解析所有依赖项。我使用修改过的Spark源运行的应用程序也只使用了核心Spark功能,没什么特别的。有没有办法让spark重新编译只在缓存中修改,存储已解析的依赖项或任何其他方式可以加快jar构建过程。
答案 0 :(得分:2)
为了在开发期间编译Spark,你可以做一些事情来加快速度。其中一个是sbt/sbt
运行,然后你可以在sbt shell中执行assembly
命令。您可以保留相同的sbt shell,除非您更改构建/ deps(在这种情况下,您需要执行reload
)。另一个是,在你开发的时候你可以使用compile
,或者只是core/compile
如果你只是在改变核心,那就编译Spark(当然你仍然需要程序集jar来做像使用shell这样的事情)。另一种选择是使用maven进行连续编译,如http://spark.apache.org/docs/latest/building-spark.html所述。希望有所帮助并祝你好运:)