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

How to append a resource jar for spark-submit?

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

比如我的fat jar是myApp1-adam_2.11-0.20.0.jar,

提交如下即可

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

它在

中报告了异常

thread "main" 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 个单独的 jar 提交而不将它们打包在一起

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

将所有 jar 文件添加到一个文件夹中,然后按照以下步骤操作...

选项 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看我的回答:

选项 3:如果您想通过 API 添加 jars 来进行程序化提交,possible.Here 我不会详细介绍它。