Spark Java:在SparkLauncher中指定依赖项JAR
我正在尝试使用Spark Java:在SparkLauncher中指定依赖项JAR,java,apache-spark,Java,Apache Spark,我正在尝试使用sparkauncher运行spark作业。 我的spark应用程序jar不是一个胖jar,它依赖于许多其他第三方jar,有没有办法在SparkLauncher中指定依赖jar?使用addJar,请参阅 在这种情况下,将分发jar文件 或者将它们添加到DRIVER\u EXTRA\u CLASSPATH和EXECUTOR\u EXTRA\u CLASSPATH(但是依赖项需要手动分发,或者需要位于每个工作人员都可以访问的共享文件夹中) 通过在类路径中包含所有文件,还可以包含多个j
sparkauncher
运行spark作业。
我的spark应用程序jar不是一个胖jar,它依赖于许多其他第三方jar,有没有办法在
SparkLauncher
中指定依赖jar?使用addJar
,请参阅
在这种情况下,将分发jar文件
或者将它们添加到DRIVER\u EXTRA\u CLASSPATH
和EXECUTOR\u EXTRA\u CLASSPATH
(但是依赖项需要手动分发,或者需要位于每个工作人员都可以访问的共享文件夹中)
通过在类路径中包含所有文件,还可以包含多个jar文件:
Process spark = new SparkLauncher()
.setConf(SparkLauncher.DRIVER_EXTRA_CLASSPATH, "/path/to/jar/*")
.setConf(SparkLauncher.EXECUTOR_EXTRA_CLASSPATH, "/path/to/jar/*")
使用
addJar
,请参阅
在这种情况下,将分发jar文件
或者将它们添加到DRIVER\u EXTRA\u CLASSPATH
和EXECUTOR\u EXTRA\u CLASSPATH
(但是依赖项需要手动分发,或者需要位于每个工作人员都可以访问的共享文件夹中)
通过在类路径中包含所有文件,还可以包含多个jar文件:
Process spark = new SparkLauncher()
.setConf(SparkLauncher.DRIVER_EXTRA_CLASSPATH, "/path/to/jar/*")
.setConf(SparkLauncher.EXECUTOR_EXTRA_CLASSPATH, "/path/to/jar/*")
当使用addJar方法添加多个jar时,我们看到一个问题,即文件路径不正确,或者文件名、目录名或卷标语法不正确。出现此问题的原因是sparklauncher在内部调用spark submit时遇到问题,无法考虑双引号中逗号分隔的JAR。当我将spark-submit2.cmd的内容复制到spark-submit.cmd时,上述问题得到解决,我们可以执行驱动程序 当使用addJar方法添加多个jar时,我们看到一个问题,即文件路径不正确,或者文件名、目录名或卷标语法不正确。出现此问题的原因是sparklauncher在内部调用spark submit时遇到问题,无法考虑双引号中逗号分隔的JAR。当我将spark-submit2.cmd的内容复制到spark-submit.cmd时,上述问题得到解决,我们可以执行驱动程序 谢谢!我知道addJar方法,它是有效的。正在寻找一种只指定目录的简单方法。将使用这些参数尝试setConf。谢谢!我知道addJar方法,它是有效的。正在寻找一种只指定目录的简单方法。将使用这些参数尝试setConf。
Process spark = new SparkLauncher()
.setConf(SparkLauncher.DRIVER_EXTRA_CLASSPATH, "/path/to/jar/*")
.setConf(SparkLauncher.EXECUTOR_EXTRA_CLASSPATH, "/path/to/jar/*")