如何在Windows (8-10)上使用SBT构建Spark时激活Hadoop和纱线轮廓?
>sbt package
上面的代码可以工作,但无法用以下方法激活配置文件:
>sbt -Pyarn package
我是在问,因为mvn
比SBT慢得多。我有使用SBT和Maven在Linux上构建Spark的经验。
发布于 2016-05-16 12:00:54
您必须使用与星火源分发捆绑在一起的./build/sbt
脚本。它调用了另一个执行与配置文件相关的魔法的脚本sbt-launch-lib.bash
:
enableProfile () {
dlog "[enableProfile] arg = '$1'"
maven_profiles=( "${maven_profiles[@]}" "$1" )
export SBT_MAVEN_PROFILES="${maven_profiles[@]}"
}
另一方面,项目定义SparkBuild
扩展了PomBuild
,它允许使用Maven项目(包括概要文件):
override val profiles = {
val profiles = Properties.envOrNone("SBT_MAVEN_PROFILES") match {
...
}
profiles
}
因此,如果您像这样运行它(使用Cygwin),它应该可以工作:
sh build/sbt -Pyarn package
尽管如此,由于sbt-launch-lib.bash
路径的发现不正确,这对我来说是行不通的。因此,我在build\sbt
中替换了一行:
. "$(dirname "$(realpath "$0")")"/sbt-launch-lib.bash
至
. "$(dirname "$(realpath "$0")")"/build/sbt-launch-lib.bash
https://stackoverflow.com/questions/37135415
复制相似问题