在使用spark-submit进行应用提交时,需要加很多参数,我们可以使用spark-submit -h
命令进行查看。spark-submit的使用说明可参照Spark应用提交指南其具体的使用参数说明如下:
Usage: spark-submit [options] <app jar | python file> [app options]
Usage: spark-submit [options] <app jar | python file> [app arguments]
Usage: spark-submit --kill [submission ID] --master [spark://...]
Usage: spark-submit --status [submission ID] --master [spark://...]
Usage: spark-submit run-example [options] example-class [example args]
参数名称 | 含义 |
---|---|
–master MASTER_URL | 可以是spark://host:port, mesos://host:port, yarn, yarn-cluster,yarn-client, local |
–deploy-mode DEPLOY_MODE | Driver程序运行的地方,client或者cluster |
–class CLASS_NAME | 主类名称,含包名 |
–name NAME | Application名称 |
–jars JARS | Driver依赖的第三方jar包 |
–py-files PY_FILES | 用逗号隔开的放置在Python应用程序PYTHONPATH上的.zip, .egg, .py文件列表 |
–files FILES | 用逗号隔开的要放置在每个executor工作目录的文件列表 |
–conf PROP=VALUE | 配置spark相关设置 |
–properties-file FILE | 设置应用程序属性的文件路径,默认是conf/spark-defaults.conf |
–driver-memory MEM | Driver程序使用内存大小 |
–driver-java-options | 将额外的java选项传给应用程序 |
–driver-library-path | Driver程序的库路径 |
–driver-class-path | Driver程序的类路径 |
–executor-memory MEM | executor内存大小,默认1G |
–proxy-user NAME | |
–driver-cores NUM | Driver程序的使用CPU个数,仅限于Spark Alone模式 |
–supervise | 失败后是否重启Driver,仅限于Spark Alone模式 |
–kill SUBMISSION_ID | 杀死指定程序 |
–status SUBMISSION_ID | 获取指定的驱动程序的状态 |
–total-executor-cores NUM | executor使用的总核数,仅限于Spark Alone、Spark on Mesos模式 |
–driver-cores NUM | 驱动程序使用的内核数,仅在群集模式下(默认值:1)。仅限于Spark on Yarn模式 |
–executor-cores NUM | 每个executor使用的内核数,默认为1,仅限于Spark on Yarn模式 |
–queue QUEUE_NAME | 提交应用程序给哪个YARN的队列,默认是default队列,仅限于Spark on Yarn模式 |
–num-executors NUM | 启动的executor数量,默认是2个,仅限于Spark on Yarn模式 |
–archives ARCHIVES | 仅限于Spark on Yarn模式 |
在集群资源有所变动的时候,为了提高应用的执行性能我们会酌情修改相关配置如线程、内存、cpu核数等。