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

Apache spark 如何为spark submit附加资源jar?,apache-spark,spark-submit,Apache Spark,Spark Submit,我的spark应用程序依赖于adam_2.11-0.20.0.jar,每次我都要用adam_2.11-0.20.0.jar将我的应用程序打包为一个胖罐子提交给spark 例如,我的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 该公司报告称,在2008年出现了例外情况 线程“main”java.lang.NoCla

我的spark应用程序依赖于adam_2.11-0.20.0.jar,每次我都要用adam_2.11-0.20.0.jar将我的应用程序打包为一个胖罐子提交给spark

例如,我的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
该公司报告称,在2008年出现了例外情况

线程“main”java.lang.NoClassDefFoundError:

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

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

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添加JAR来进行编程提交,这是可能的。这里我不打算详细介绍它。这有帮助吗?您还可以将资源jar复制到folderspark submit——驱动程序类路径adam_2.11-0.20.0.jar——类com.ano.adam.AnnoSp myApp1.jar适用于spark2.0.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 ' ' ',')