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

spark常见的submit参数

spark-submit工具的使用及常见的参数

spark-submit 是在spark安装目录中bin目录下的一个shell脚本文件,用于在集群中启动应用程序(如*.jar、*.py脚本等);对于spark支持的集群模式,spark-submit提交应用的时候有统一的接口,不用太多的设置。

spark-submit是使用spark开发的程序员可能用到的最多的工具之一,该命令涉及到非常多的参数,这里只罗列企业中用的最多的最常用的参数,其他的一些特殊的参数可以参照官网或者相关文档查阅。

--master

该参数表示提交任务到哪里执行,常见的选项有:

local:提交到本地服务器执行,并分配单个线程

local[k]:提交到本地服务器执行,并分配k个线程

local[*]:提交到本地服务器执行,并分配本地core个数个线程

spark://HOST:PORT:提交到standalone模式部署的spark集群中,并指定主节点的IP与端口

mesos://HOST:PORT:提交到mesos模式部署的集群中,并指定主节点的IP与端口

yarn:提交到yarn模式部署的集群中

 --deploy-mode

spark on yarn的两种启动方式,区别是spark的driver是在本地 (client) 启动还是在yarn的container中启动,默认是 client

 --class

应用程序的主类,仅针对 java 或 scala 应用

 --name

指定应用程序的名称,在yarn调度系统下,只对cluster模式生效

 --jar

用逗号分隔的本地 jar 包,设置后,这些 jar 将包含在 driver 和 executor 的 classpath 下。如果路径是个目录的话,--jars的设置无法起作用,必须详细到abc.jar。

备注:区别spark-defaults.conf配置文件中的spark.yarn.jars

--jars:主要用于上传我们需要的第三方依赖

spark.yarn.jars:主要传入spark环境相关的jar包,例如 spark.core,spark.sql等等

 --conf prop=value

指定spark配置属性的值,格式为PROP=VALUE, 例如 --conf spark.executor.extraJavaOptions=“-XX:MaxPermSize=256m”

 --properties-file

指定需要额外加载的配置文件,用逗号分隔,如果不指定,默认为 conf/spark-defaults.conf

--driver-memory和--driver-core

前者表示driver内存,默认 1G;后者表示driver 的核数,默认是1。在 yarn 或者 standalone 下使用

建议:对于driver memory通常不用设置,若出现使用 collect 算子将 RDD 数据全部拉取到 Driver 上处理,就必须确保该值足够大,否则 OOM 内存溢出(如果设置了广播变量再设置大一点)。

 --num-executors

启动的 executor 数量,即该作业总共需要多少executor进程执行,默认为2。建议:每个作业运行一般设置5,10,20个左右较合适。在 yarn 下使用

 --executor-memory和--executor-cores

executor-memory:设置每个executor进程的内存, num-executors * executor-memory  代表作业申请的总内存量(尽量不要超过最大总内存的1/3~1/2)

建议:设置5G~10G较合适

executor-cores:每个executor进程的CPU Core数量,该参数决定每个 executor进程并行执行task线程的能力, num-executors* executor-cores代表作业申请总 CPU core数(不要超过总 CPU Core的 1/3~1/2 )

建议:设置2~4个比较合适

 --queue QUEUE_NAME

将任务提交给哪个YARN队列,默认为YARN的默认队列

提交实例

使用spark自带的圆周率案例进行测试


# local
bin/spark-submit --class org.apache.spark.examples.SparkPi --master local ./examples/jars/spark-examples_2.12-3.2.0.jar 200
 
#yarn client
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.12-3.2.0.jar 200
 
#yarn cluster
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster ./examples/jars/spark-examples_2.12-3.2.0.jar 200

备注1:200表示要运行程序的输入参数(计算圆周率π的次数,计算次数越多,准确率越高),如果不指定默认是2

相关文章:

  • HeidiSQL 12.0 64位便携版使用指南:从下载到数据库管理的完整步骤
  • 个人学习编程(3-11) 刷题
  • 《哪吒2》中的“家”本质:中国式亲情的三重镜像与觉醒
  • Spring
  • SPFA算法——负权图且没有负环
  • Python基于深度学习的电影评论情感分析可视化系统(全新升级版)【附源码、参考文档】
  • 【BUG】类文件具有错误的版本 61.0, 应为 52.0,请删除该文件或确保该文件位于正确的类路径子目录中。
  • ubuntu安装与卸载
  • python机器学习tensorflow库安装与使用
  • 一次解决Andriod Studio Build Gradle很慢或报错下载失败等问题
  • Python基于windows操作RocketMQ
  • Git基础篇 - Linux(CentOS)源码安装Git实例
  • 【视频】从USB摄像头推流至视频服务器(SRS、mediamtx)
  • json中文编码问题
  • 01LVGL图形界面库
  • Tauri + Vite + SvelteKit + TypeScript 跨平台开发全流程指南(Linux)
  • FANformer:融合傅里叶分析网络的大语言模型基础架构
  • 【C语言】memset(含常见用途、注意事项)
  • AWS Bedrock 正式接入 DeepSeek-R1 模型:安全托管的生成式 AI 解决方案
  • 2025年【A特种设备相关管理】免费试题及A特种设备相关管理模拟考试题库
  • 烈士沈绍藩遗孤、革命家帅孟奇养女舒炜逝世,享年96岁
  • 2025年上海市模范集体、劳动模范和先进工作者名单揭晓
  • 中国词学研究会原会长、华东师大教授马兴荣逝世,享年101岁
  • 金地集团:今年前4个月实现销售额109.3亿元,同比下降52.44%
  • 新华时评:任凭风云变幻,中俄关系从容前行
  • 保利发展前4个月销售额约876亿元,单月斥资128亿元获4个项目