采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我觉得spark的application相当于一个job容器,打开spark sql CLI这个客户端,就相当于打开容器,然后能够不断地向里面提交job。而Hive CLI这种客户端,运行mr的话,一个application只能装一个job。多个job之间都是隔离的。所以我觉得多个job放入一个application中一起处理,也是spark比mr好一点的地方,不知道我的理解怎么样😄。
这个理解不太对的,spark中的一个application就是一个driver和n个executor构成起来的,一个job对应的就是action算子触发产生的。这一个部分spark官网上有详细的spark术语介绍
就是说spark是预先创建好executor,不管有没有job,都会存在,相当于一直会开辟一块独立的资源区。而mapreduce,是提交一个job,创建进程,运行完后就销毁资源,下次提交job再申请资源,这样反复的比较耗时。
你这个说法是对的,但是spark比如一个离线作业,他也是启动的时候去申请executor进程的资源的,然后task就跑在进程上。那么问题来了,你思考下,有什么版本能把spark作成一个服务不
spark的thrift server不就是个7*24小时开启的服务么。但是好像只支持sql的作业,df和ds的不行。
登录后可查看更多问答,登录/注册
大数据工程师干货课程 带你从入门到实战掌握SparkSQL
1.0k 15
1.0k 14
1.3k 12
1.8k 12
1.3k 11