首页/数据/数据工程与 ETL 速查/spark-submit 提交批作业
管道基础52 条

spark-submit 提交批作业

spark-submit 是 Spark 作业的统一入口:指定 master、资源、依赖与主类;client 模式 driver 在提交机、cluster 模式 driver 在集群内,日志位置不同。

用途提交 Spark 应用(Scala/Java/Python)
资源参数--num-executors / --executor-cores / --executor-memory
其他--jars 依赖、--files 分发文件、--conf 任意配置

提交到 YARN 集群

提交到 YARN 集群
spark-submit \
  --master yarn \
  --deploy-mode cluster \
  --queue root.etl \
  --num-executors 8 --executor-cores 4 --executor-memory 8g \
  --conf spark.sql.shuffle.partitions=400 \
  --class com.example.OrdersJob \
  app.jar --dt 2026-10-11
应用参数必须写在 jar 之后;写在 spark-submit 选项区会被当成 Spark 自己的参数解析失败。

易错点

  • executor 内存超过 YARN 容器上限会被直接 kill,先看 RM 日志再调参
  • client 模式日志落提交机本地,作业跑在集群时别只盯着本地日志找 driver 输出

数据来源与参考

  • Apache Spark 官方文档:Submitting Applications
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌