sbt自定义spark参数

开发spark程序时,需要依赖于spark的jar包,因此需要将spark的jar包的作用域(scope)设置成compile,如果设置成provided的话,会提示找不到ClassNotFoundException的错误。
但在线上服务构建时,又需要将作用域改成provided。那么build.sbt怎么写才可以呢?这里提供一个方法,可以用以下方法:

val spark_scope = System.getProperty("spark.scope", "compile")

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.6.0" % spark_scope

正常开发过程中,不需要设置 spark.scope ,那么默认采用compile

正式发布时,只需要用以下命令进行构建。

sbt -Dspark.scope=provided  clean assembly

 

posted on 2016-02-22 16:46  luckuan1985  阅读(416)  评论(0编辑  收藏  举报