spark jar依赖顺序

1. 执行顺序

  1. spark-submit --config "spark.{driver/executor}.extraClassPath=someJar"提交的依赖包
  2. SystemClasspath -- Spark安装时候提供的依赖包
  3. spark-submit --jars 提交的依赖包

2. 依赖解释

  1. 提交任务时指定的依赖
    Spark-submit --config "spark.{driver/executor}.extraClassPath=someJar"提交的依赖包
    如指定driver或者executor上的包使用什么包,那个path是jar包的路径

    复制代码
    --conf spark.driver.extraClassPath=/root/.m2/repository/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar \
    --conf spark.executor.extraClassPath=/root/.m2/repository/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar \
  2. SystemClasspath
    Spark安装时候提供的依赖包--spark环境的版本
    如果只是在pom文件里面指定了要用什么版本,但是SystemClasspath 和指定版本不一样且没有配置spark.driver.extraClassPath时,会优先使用SystemClasspath

Spark-submit --jars 提交的依赖包

如果环境没有依赖的且不想打包到自己的项目jar里面时,可以使用该方式

如:

--jars /root/.m2/repository/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar \

3. 完整的提交示例

复制代码
su hadoop -c "/usr/local/service/spark/bin/spark-submit \
--class SayloRecUserStaticInfoTable \
--name 'SayloRecUserStaticInfoTable $DATE' \
--jars $PROJECT_ROOT/lib/protobuf-java-3.6.1.jar \
--conf spark.driver.extraClassPath=/root/.m2/repository/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar \
--conf spark.executor.extraClassPath=/root/.m2/repository/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar \
--conf spark.driver.extraClassPath=$PROJECT_ROOT/lib/protobuf-java-3.6.1.jar \
--conf spark.executor.extraClassPath=$PROJECT_ROOT/lib/protobuf-java-3.6.1.jar \
--conf spark.sql.broadcastTimeout=7200 \
--conf spark.executor.cores=4 \
--conf spark.executor.memory=2G \
--conf spark.local.dir=/data/tmp \
--conf spark.executor.local.dir=/tmp \
--num-executors 2 \
--master yarn \
--deploy-mode cluster \
$PROJECT_ROOT/target/saylo_rec_data_offline_v2-1.0.0-jar-with-dependencies.jar.jar \
dst_table=saylo.t_saylo_user_test \
date=\"$DATE\""

参考

相关推荐
zandy101112 小时前
2026 BI平台与数据中台融合架构实践:从数据烟囱到统一智能数据层
大数据·架构·spark
zhojiew18 小时前
使用AWS中国区Lambda集成Glue Schema Registry消费Kafka消息的实践
大数据·spark·etl
r-t-H1 天前
从零开始搭建CDH-第十二章
linux·hive·spark·centos·hbase
SuperArc19992 天前
jar包文件修改(java编译与反编译)
java·开发语言·后端·jar·反编译
zhojiew2 天前
部署DataHub并导入Glue元数据以集成DBT和Spark ETL任务中数据血缘的实践
大数据·spark·etl
WL_Aurora3 天前
大数据技术之SparkCore
大数据·前端·spark·rdd
WL_Aurora3 天前
Scala核心编程(一):Scala语言概述与快速入门
spark·scala
曾阿伦3 天前
Spark2 序列化解析:JavaSerializer vs KryoSerializer
spark
KaMeidebaby3 天前
卡梅德生物技术快报|适配体筛选技术架构演进:SPARK-seq 高通量平台原理与技术流程解析
大数据·前端·其他·百度·架构·spark·新浪微博
元拓数智3 天前
智能分析落地卡壳?先补好「数据关系+语义治理」这层技术基建
大数据·分布式·ai·spark·数据关系·语义治理