spark任务提交以及spark-shell使用
spark任务提交说明
一旦打包好,就可以使用bin/spark-submit脚本启动应用了. 这个脚本负责设置spark使用的classpath和依赖,支持不同类型的集群管理器和发布模式:
bin/spark-submit \
--class <main-class>
--master <master-url> \
--deploy-mode <deploy-mode> \
--conf <key>=<value> \
... # other options
<application-jar> \
[application-arguments]
一些常用选项:
–class: 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)
-
–master: 集群的master URL (如 spark://node01:7077)
-
–deploy-mode: 是否发布你的驱动到worker节点(cluster) 或者作为一个本地客户端 (client) (default: client)*
-
–conf: 任意的Spark配置属性, 格式key=value. 如果值包含空格,可以加引号“key=value”. 缺省的Spark配置
-
application-jar: 打包好的应用jar,包含依赖. 这个URL在集群中全局可见。 比如hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的path都包含同样的jar.
-
application-arguments: 传给main()方法的参数
Master URL 可以是以下格式:
查看Spark-submit全部参数:
更多参数提交说明:
- –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工作目录的文件列表 - –properties-file FILE
设置应用程序属性的文件路径,默认是conf/spark-defaults.conf - –driver-memory MEM
Driver程序使用内存大小 - –driver-java-options
- –driver-library-path
Driver程序的库路径 - –driver-class-path
Driver程序的类路径 - –executor-memory MEM
executor内存大小,默认1G - –driver-cores NUM
Driver程序的使用CPU个数,仅限于Spark Alone模式 - –supervise
失败后是否重启Driver,仅限于Spark Alone模式 - –total-executor-cores NUM
executor使用的总核数,仅限于Spark Alone、Spark on Mesos模式 - –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模式