spark任务shell运行_Spark原理与实战(六)-- Spark任务提交与运行

本文介绍了Spark的两种运行方式:spark-shell和spark-submit。spark-shell提供交互式命令行运行Spark应用,而spark-submit适用于IDE编译打包后的任务提交。文章详细阐述了每种方式的使用参数,并提到spark-shell常用于小任务和测试,大规模部署更倾向于spark-submit。
摘要由CSDN通过智能技术生成

原标题:Spark原理与实战(六)-- Spark任务提交与运行

49f6de5b9b641bef1f8ef2f6d1d745fd.png

导读:前面我们介绍了关于spark编程的基础知识以及三个简单示例,那么应该怎么去调试或者提交运行spark程序呢?

作者:小舰 中国人民大学计算机硕士

来源:DLab数据实验室(ID:rucdlab)

Spark提供了两种运行的方式,一种是通过spark-shell的方式,另一种是通过IDE编译打包,然后通过spark-submit的方式提交运行.

一、spark-shell方式

spark-shell 是以一种交互式命令行方式将Spark应用程序跑在指定模式上,也可以通过Spark-submit提交指定运用程序,Spark-shell 底层调用的是Spark-submit,二者的使用参数一致的,通过- -help 查看参数:

d18dddeedfa6c660c8caf0f2614879f6.png

上图所示的就是我们已经进入了命令行了,我们可以看到已经为我们创建好了两个重要的实例变量Spark Context(sc)和Spark Session(spark),通过这两个变量我们可以进行一些操作。

同时,如果我们想要依赖第三方的包,或者增加一些初始化的配置参数,也可以通过一下的方式进行

spark-shell --master spark://ip:port/yarn/local --conf spark.sql.hive.metastore.jars=/xxx/ .jar --jar /xxx/ .jar

二、spark-submit方式

另外一种就是通过在IDE里面编写代码,然后打包运行

1.打包

File->Project Structure->Artifacts

214ba16e766ec9ddc54e66dbb45f41d2.png

adf3077d4ece592389aaca1f3dc69f8b.png

f87eb4598d0ed3eb07736919c01068b9.png

build完成之后你会在out目录下artifacts找到相应的jar包,例如我的这个就是sparktest.jar

2.提交

然后就是提交阶段,同样也可以指定部署模式、内存、内核以及一些其他的参数或第三方jar包,当然了还有很多提交参数,见附录。

spark2-submit --master spark://ip:port/yarn/local --deploy-mode client/cluster --num-executors 30 --executor-memory 8g --executor-cores 2 --conf spark.sql.broadcast.threshold=200 --jar xxx.jar --class dlab.base.localFileTest sparktest.jar

三、总结

以上就是spark常用的两种部署模式,一般spark-shell的方式多用于小的临时的任务以及一些测试,更多的还是通过打包提交的方式。上面也提到了部署模式的问题,下一期我们可以来聊一聊~

附录:

-master: 指定运行模式,spark://host:port, mesos://host:port, yarn, or local[n].

-deploy-mode: 指定将driver端运行在client 还是在cluster.

-class : 指定运行程序main方法类名,一般是应用程序的包名+类名

-name : 运用程序名称

-jars : 需要在driver端和executor端运行的jar,如mysql驱动包

-packages : maven管理的项目坐标GAV,多个以逗号分隔

-conf : 以key=value的形式传入sparkconf参数,所传入的参数必须是以spark.开头

-properties-file : 指定新的conf文件,默认使用spark-default.conf

-driver-memory :指定driver端运行内存,默认1G

-driver-cores :指定driver端cpu数量,默认1,仅在Standalone和Yarn的cluster模式下

-executor-memory :指定executor端的内存,默认1G

-total-executor-cores :所有executor使用的cores

-executor-cores : 每个executor使用的cores

-driver-class-path : driver端的classpath

-executor-class-path :executor端的classpath

文章都看完了 不点个 吗

欢迎点赞、在看、分享三连哦~~返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值