关于Hive和Spark on yarn的调度总结

总结

请添加图片描述

  • MR:在application执行之前不需要先将资源申请完毕,而是直接进行任务调度,每一个task在执行之前自己去申请资源,申请到了就执行,申请不到就继续申请,每一个task执行完毕后后悔自己将申请的资源释放掉。

  • Spark:在Application执行之前,先将所有的资源申请完毕,才会执行任务的调度,直到最后一个task执行完毕,才会释放掉这些资源。

  • Spark SQL CLI就相当于一直开启资源,不释放,Spark Thrift Server也是这个原理。

  • Hive的driver和Spark SQL(client)的driver概念不太一样:
    Hive的driver是把SQL解析为MR应用提交到集群上去运行而已,任务调度在ApplicationMaster中,只会返回一个运行结果给client。
    spark SQL的driver把SQL解析为Spark应用,还含有DGA和Task调度,以及要和executor进行通信的,可以把数据集中在driver。

  • MR(Hive)的任务调度在ApplicationMaster中,Spark的任务调度在driver(可位于client,也可位于ApplicationMaster)中。

参考文章

Hive Driver 原理
yarn-cluster和yarn-client提交模式的区别
Spark Thrift Server 架构和原理介绍
理解Spark SQL(一)—— CLI和ThriftServer
spark-sql 是否支持 --deploy-mode cluster模式呢?
spark作业调度
hadoop1.0和2.0区别
Spark----资源调度和任务调度流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值