如何理解spark --jars,extraClassPath和extraLibraryPath的关系和用法?

时间:2019-07-17 06:22:17

标签: apache-spark classpath

首先,我看到了类似的问题。 another problem link但我认为答案并不十分清楚。

我的一些问题如下:

(1)-jars参数与spark.executor.extraClassPath参数相同,如果不同,有什么区别?

我已经在spark-submit命令行的--jars上检查了--help,其解释如下:

 Comma-separated list of local jars to include on the driver
                          and executor classpaths.

但是,我在spark-submit命令行中找不到spark.executor.extraClassPath的说明。最后,我在spark的官方网站上找到了关于spark.executor.extraClassPath的以下解释:

Extra classpath entries to prepend to the classpath of executors. 

从两者的解释看,效果差不多?

但是我从另一个问题链接中看到以下段落:

  

-jars与SparkContext.addJar:完全相同,只有一个是通过spark提交设置的,另一个是通过代码设置的。选择一个更适合您的套件。需要注意的重要一件事是,使用这两个选项中的任何一个都不会将JAR添加到驱动程序/执行程序的类路径中,您需要使用这两个选项上的extraClassPath配置显式添加它们。

这又是为什么?

(2)spark.executor.extraClassPath和spark.executor.extraLibraryPath,与具有相同前缀的spark.driver.extraXXXXpath相同。

extraClassPath和extraLibraryPath有什么区别?

spark官方网站上的spark.executor.extraLibraryPath解释。

Set a special library path to use when launching executor JVM's.

我不明白,这个解释与--jars和spark.executor.extraClassPath有什么区别?

期待您的解释和答复,谢谢。

0 个答案:

没有答案