我正在使用sbt assembly插件来创建一个胖罐。我需要一些罐子,它们是默认的hadoop / spark的一部分,但是版本较新。
我希望spark worker jvm更喜欢使用我的胖jar文件打包的版本,而不是默认的hadoop / spark发行版。我怎么能这样做?
答案 0 :(得分:1)
解决方案是在提交spark应用程序时在配置( - conf选项)中设置spark。{driver,executor} .userClassPathFirst。这将首先包括来自uber jar的jar,然后来自spark classpath。
其他解决方案是在sbt程序集中使用着色。然后遮盖我们超级罐中的罐子,其先前版本包含在火花中。