Spark --jars 依赖包的优先级顺序
Spark 依賴包來源
我們知道Spark application運(yùn)行加載依賴有三個(gè)地方:
SystemClasspath -- Spark安裝時(shí)候提供的依賴包
Spark-submit --jars 提交的依賴包
Spark-submit --config "spark.{driver/executor}.extraClassPath=someJar"提交的依賴包
Spark 依賴包優(yōu)先級(jí)
三者的優(yōu)先級(jí)順序是怎樣的呢?
我通過測(cè)試發(fā)現(xiàn)優(yōu)先級(jí)如下:
1. spark-submit --config "spark.{driver/executor}.extraClassPath=someJar"提交的依賴包
2. SystemClasspath -- Spark安裝時(shí)候提供的依賴包
3.spark-submit --jars 提交的依賴包
三者用途:
spark.{driver/executor}.extraClassPath 優(yōu)先級(jí)最高,一般有相同jar但是版本不同,需要解決沖突時(shí)使用;
SystemClasspath 系統(tǒng)安裝的包,默認(rèn)優(yōu)先使用環(huán)境的包,這樣更加穩(wěn)定安全。
spark-submit --jars 在默認(rèn)spark環(huán)境里沒有需要的包時(shí),自己上傳提供。
總結(jié):
A)在我們提交一個(gè)spark2 程序時(shí),系統(tǒng)沒有的包--jars 提交;
B)在我們需要和系統(tǒng)中已有的包的不同版本時(shí),使用spark.{driver/executor}.extraClassPath來指定。
總結(jié)
以上是生活随笔為你收集整理的Spark --jars 依赖包的优先级顺序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP的构成及工作原理
- 下一篇: Baxter机器人---Hello_ba