0

我正在使用 sbt 程序集插件来创建一个胖 jar。我需要一些 jars,它们是默认 hadoop/spark 的一部分,但具有较新的版本。

我希望 spark worker jvm 更喜欢与我的 fat jar 文件一起打包的版本,而不是默认的 hadoop/spark 发行版。我怎样才能做到这一点?

4

1 回答 1

1

解决方案是在提交 spark 应用程序时在配置(--conf 选项)中设置 spark.{driver,executor}.userClassPathFirst。这将首先包括来自 uber jar 的 jar,然后来自 spark 类路径。

其他解决方案是在 sbt 程序集中使用着色。并在我们的 uber jar 中遮蔽其先前版本包含在 spark 中的 jar。

于 2017-10-24T03:59:22.807 回答