spark 调度

1、fair调度模式

  就是需要用户配置权重

2、配置调度池

   用户可以通过配置文件自定义调度池的属性

1、调度模式

2、权重

3、minshare  配置多少个cpu的内核


stage 和 tasksetmanager调度

 stage的调度是由dagscheduler完成的,由rdd的有向五环图dag切分除了stage的有向五环图  stage的dag通过最后执行的stage为根进行广度优先遍历,遍历到最开始执行的stage执行,如果提交的stage任有未完成的父母stage,则stage需要等待其父 stage执行完成才能执行。

整体的task分发又taskschedulerimple来实现,但是task得调度(本质上是task在哪个分区执行)逻辑由tasksetmanager完成,这个类监控整个任务的生命周期,当任务失败时  如执行时间超过一定的阈值, 重新调度,也会通过


读写流程

1、数据写入

 数据写入的简要流程,读取流程和写入流程类似,数据写入流程主要分为以下几个步骤。

 1、rdd调用compute方法进行指定分区的写入

2、cachemanager中调用blockmanager判断数据是否已经写入,如果未写入则写入

3、blockmanager中数据与其他节点同步

4、blockmanger根据存储级别写入指定的存储层

5、blockmanager向主节点回报存储状态


详细步骤如下

 入库在rdd累中通过computer方法调用 iterator方法进行某个分区 partition的读写,partition是逻辑概念,在物理上是一个block 具体实现如下

 1、在cachemanger累中,getorcompute方法通过调用blockmanager的put接口来写入数据,我们可以看到,在这里有个判断逻辑,它先从内存cache读取是否又快可以读取。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值