我正在使用Java API的Spark,并需要一个单一的JAR文件,可以推送到群集中,但是该JAR文件本身不应包含Spark。 当然,部署作业的应用程序应包括Spark。
我希望:
- sbt run - 一切都应该被编译和执行
- sbt smallAssembly - 创建一个没有Spark的JAR
- sbt assembly - 创建一个包含所有内容(包括Spark)以便于部署的超级JAR。
我已经实现了1和3。 有什么方法可以完成2?我需要在我的build.sbt文件中添加哪些代码?
这个问题不仅与Spark相关,还与其他可能要排除的任何依赖项相关。