当前位置: 首页 > news >正文

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\""

参考

相关文章:

  • SpringBoot原生实现分布式MapReduce计算
  • 进阶篇 第 6 篇:时间序列遇见机器学习与深度学习
  • Elasticsearch 使用reindex进行数据同步或索引重构
  • TockOS,一种新安全软件架构的RTOS介绍
  • 激活函数:神经网络的 “魔法开关”,开启智能之门(三)
  • 【Linux运维涉及的基础命令与排查方法大全】
  • Anaconda、conda和PyCharm在Python开发中各自扮演的角色
  • 机器学习06-RNN
  • EasyRTC打造无人机低延迟高清实时通信监控全场景解决方案
  • 电气动调节单座V型球阀带阀杆节流套沟槽孔板的作用-耀圣
  • 【Web API系列】Web Shared Storage API 深度解析:WindowSharedStorage 接口实战指南
  • RK3588 ubuntu20禁用自带的TF卡挂载,并设置udev自动挂载
  • JDBC对数据的增删改查操作:从Statement到PrepareStatement
  • Jupyter Notebook 中切换/使用 conda 虚拟环境的方式(解决jupyter notebook 环境默认在base下面的问题)
  • C语言文件操作完全手册:读写·定位·实战
  • 机器学习第二篇 多变量线性回归
  • go中map和slice非线程安全
  • Hive学习
  • 画布交互系统深度优化:从动态缩放、小地图到拖拽同步的全链路实现方案
  • 【Pandas】pandas DataFrame truediv
  • 昆明一学校门外小吃摊占满人行道,城管:会在重点时段加强巡查处置
  • 重庆荣昌出圈背后:把网络流量变成经济发展的增量
  • 白宫启动“返乡计划” ,鼓励非法移民自愿离开美国
  • 习近平同瑞典国王卡尔十六世·古斯塔夫就中瑞建交75周年互致贺电
  • 中国国家电影局与俄罗斯文化部签署电影合作文件
  • 外卖员投资失败负疚离家流浪,经民警劝回后泣不成声给父母下跪