Spark --jars 依賴包的優先級順序


Spark 依賴包來源
我們知道Spark application運行加載依賴有三個地方:

SystemClasspath -- Spark安裝時候提供的依賴包
Spark-submit --jars 提交的依賴包
Spark-submit --config "spark.{driver/executor}.extraClassPath=someJar"提交的依賴包
 

Spark 依賴包優先級
三者的優先級順序是怎樣的呢?

我通過測試發現優先級如下:

1. spark-submit --config "spark.{driver/executor}.extraClassPath=someJar"提交的依賴包

2. SystemClasspath -- Spark安裝時候提供的依賴包

3. spark-submit --jars 提交的依賴包

 

三者用途:
spark.{driver/executor}.extraClassPath 優先級最高,一般有相同jar但是版本不同,需要解決沖突時使用;

SystemClasspath 系統安裝的包,默認優先使用環境的包,這樣更加穩定安全。

spark-submit --jars 在默認spark環境里沒有需要的包時,自己上傳提供。

 

總結:
A)在我們提交一個spark2 程序時,系統沒有的包--jars 提交;

B)在我們需要和系統中已有的包的不同版本時,使用spark.{driver/executor}.extraClassPath來指定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM