常用参数:
--master
指定任务运行方式,可以是:
spark://host:port, mesos://host:port, yarn, yarn-cluster,yarn-client, local
--deploy-mode
Driver程序运行的地方:client或者cluster,默认是client
--class
应用程序的主类名称(含包名),仅针对 java 或 scala 应用
--jars
应用程序依赖的本地第三方jar包,多个则用逗号分隔
--name
应用程序的名称
--driver-memory
Driver内存,不指定默认 1G。
--num-executors
应用程序总共启动的executor数量,很重要,必须设置。默认2个。
--executor-memory
每个executor的内存,默认是1G
--executor-core
每个executor的核数。在yarn或者standalone下使用
Yarn默认为1,standalone默认为worker上(除driver)所有可用的core。
一般 2~4 为宜
--queue
指定资源队列的名称
--conf PROP=VALUE
指定 spark 配置属性的值
可以用于指定spark.default.parallelism的值,以改变spark应用程序的并行度,
官网推荐是该应用程序所占用核心数的2~3倍为佳。
注意:
每个executor从yarn请求的内存=${executor-memory}+max{384mb,0.07*${executor-memory}}
非常用参数
--driver-cores
Driver 的核数,默认是1。在standalone下使用
--total-executor-cores
所有 executor 总共的核数。仅仅在 mesos 或者 standalone 下使用 ???
--driver-java-options
传给 driver 的额外的java选项
--driver-library-path
传给 driver 的额外的库路径
--driver-class-path
传给 driver 的额外的类路径
--packages
--files
用逗号隔开的文件列表,会放置在每个executor工作目录中
--repositories
--properties-file
加载的配置文件,默认为 conf/spark-defaults.conf