如何为spark-submit附加资源jar?

时间:2016-11-25 02:19:41

标签: apache-spark spark-submit

我的spark应用程序依赖于adam_2.11-0.20.0.jar,每次我必须将我的应用程序与adam_2.11-0.20.0.jar打包为胖罐以提交给spark。

例如,我的胖罐是myApp1-adam_2.11-0.20.0.jar,

可以提交以下内容

spark-submit --class com.ano.adam.AnnoSp myApp1-adam_2.11-0.20.0.jar

它在

中报告了例外情况
  

线程"主要" java.lang.NoClassDefFoundError:

org / bdgenomics / adam / rdd使用--jars

spark-submit --class com.ano.adam.AnnoSp myApp1.jar --jars adam_2.11-0.20.0.jar

我的问题是如何使用2个单独的罐子提交而不将它们打包在一起

spark-submit --class com.ano.adam.AnnoSp myApp1.jar adam_2.11-0.20.0.jar

1 个答案:

答案 0 :(得分:3)

将所有罐子添加到一个文件夹中,然后执行以下操作...

选项1:

我认为更好的方法是

$SPARK_HOME/bin/spark-submit \
--driver-class-path  $(echo /usr/local/share/build/libs/*.jar | tr ' ' ',') \
--jars $(echo /usr/local/share/build/libs/*.jar | tr ' ' ',') 

在这种方法中,你不会错过类路径中的任何jar,因此不应该发出警告。

选项2见我的答案:

spark-submit-jars-arguments-wants-comma-list-how-to-declare-a-directory

选项3:如果你想通过API添加罐子来进行程序化提交,那么就可以了。这里我不会详细介绍它。