You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shell中执行spark-submit提交Python脚本时如何正确传入指定目录参数

Spark-submit提交Python脚本传参解决方案

错误原因梳理

  • 第一次执行报错:./bin/spark-submit路径不存在,你当前的工作目录为/home/sdsid/algorithm,该目录下没有Spark的可执行文件;同时脚本路径多写了前缀./,绝对路径不需要添加当前目录标识。
  • 第二次、第三次执行报错:存在两个问题:
    1. 命令拼写错误,spark-sumbit少写了字母t,正确写法为spark-submit
    2. <是Shell的输入重定向符号,不能用来传递命令行参数,给Python脚本传递sys.argv参数仅需要在脚本文件名后,按照参数顺序用空格分隔即可。

正确提交命令示例

提前配置好Spark环境变量后,可直接使用如下命令提交:

nohup spark-submit \
--master yarn \
--deploy-mode cluster \
--driver-memory 16g \
--executor-memory 16g \
--num-executors 5 \
--executor-cores 1 \
/home/sdsid/algorithm/cs_preDeploy.py \
/tmp/sdsid/sample_dataset/ \
/tmp/sdsid/sample_dataset/dataset_4 \
/tmp/sdsid/sample_dataset/dataset_5 \
/tmp/sdsid/sample_dataset/dataset_6 \
/tmp/sdsid/sample_output/dataset_output/ \
2021 7 &

注意事项

  • 若使用Yarn Cluster模式提交任务,需确保所有输入、输出路径为HDFS路径,否则集群节点无法访问本地路径;如果必须使用本地路径,可将部署模式修改为--deploy-mode client
  • 若路径包含空格或特殊字符,直接用双引号包裹路径即可,不需要添加其他符号
  • 命令末尾的&作用是将任务放到后台运行,配合nohup使用可以避免终端关闭后任务被终止

内容的提问来源于stack exchange,提问作者Nabih Bawazir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:09:03