Process spark = new SparkLauncher()
.setConf(SparkLauncher.DRIVER_EXTRA_CLASSPATH, "/path/to/jar/file.jar")
.setConf(SparkLauncher.EXECUTOR_EXTRA_CLASSPATH, "/path/to/jar/file.jar")
通过包含类路径中的所有文件,还可以包含多个jar文件:
Process spark = new SparkLauncher()
.setConf(SparkLauncher.DRIVER_EXTRA_CLASSPATH, "/path/to/jar/*")
.setConf(SparkLauncher.EXECUTOR_EXTRA_CLASSPATH, "/path/to/jar/*")
2条答案
按热度按时间mfpqipee1#
当使用addjar方法添加多个jar时,我们看到一个问题,即文件路径不正确,或者文件名、目录名或卷标语法不正确。这个问题的原因是sparklauncher内部调用spark submit,这些调用在考虑用逗号分隔的双引号中的jar时遇到问题。当我将spark-submit2.cmd的内容复制到spark-submit.cmd时,上面的问题就解决了,我们可以执行驱动程序了。
monwx1rj2#
使用
addJar
,请参见https://spark.apache.org/docs/latest/api/java/org/apache/spark/launcher/sparklauncher.html#addjar(java.lang.string)在这种情况下,jar文件将被分发。
或者将它们添加到
DRIVER_EXTRA_CLASSPATH
以及EXECUTOR_EXTRA_CLASSPATH
(但是依赖关系需要手动分发,或者需要位于共享文件夹中,每个工作人员都可以访问该文件夹)。通过包含类路径中的所有文件,还可以包含多个jar文件: