Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spark Java:在SparkLauncher中指定依赖项JAR_Java_Apache Spark - Fatal编程技术网

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/*")