请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于spark application的理解

我觉得spark的application相当于一个job容器,打开spark sql CLI这个客户端,就相当于打开容器,然后能够不断地向里面提交job。而Hive CLI这种客户端,运行mr的话,一个application只能装一个job。多个job之间都是隔离的。所以我觉得多个job放入一个application中一起处理,也是spark比mr好一点的地方,不知道我的理解怎么样😄。

正在回答

1回答

这个理解不太对的,spark中的一个application就是一个driver和n个executor构成起来的,一个job对应的就是action算子触发产生的。这一个部分spark官网上有详细的spark术语介绍

0 回复 有任何疑惑可以回复我~
  • 提问者 程研板 #1
    就是说spark是预先创建好executor,不管有没有job,都会存在,相当于一直会开辟一块独立的资源区。而mapreduce,是提交一个job,创建进程,运行完后就销毁资源,下次提交job再申请资源,这样反复的比较耗时。
    回复 有任何疑惑可以回复我~ 2021-04-22 20:58:59
  • Michael_PK 回复 提问者 程研板 #2
    你这个说法是对的,但是spark比如一个离线作业,他也是启动的时候去申请executor进程的资源的,然后task就跑在进程上。那么问题来了,你思考下,有什么版本能把spark作成一个服务不
    回复 有任何疑惑可以回复我~ 2021-04-23 16:29:09
  • 提问者 程研板 回复 Michael_PK #3
    spark的thrift server不就是个7*24小时开启的服务么。但是好像只支持sql的作业,df和ds的不行。
    回复 有任何疑惑可以回复我~ 2021-04-23 19:41:00
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信