Spark基础(a:谈谈你对rdd的理解,b:stage的划分过程)

a:

1>弹性分布式数据集,不可变的数据集,所谓分布式:数据分布在不同的节点,并行计算,弹性:可以指定分区,可以进行数据缓存,并对数据指定不同级别的缓存,

2>数据是可以分区的,每一个分区都被映射成bolck,都有自己的block_id,被blockmanager所管理,默认的分区数是由系统的cpu core所决定的.

3>每一个分区都会被我们定义的函数所执行,底层主要调用compute方法,返回的结构构成新的rdd集,rdd一旦创建只能通过transformation 改变

4>rdd之间存在这夸依赖和窄依赖,夸依赖是Dagscheduler划分stage的重要依据,在宕机之后需要数据恢复的时候,宽依赖和窄依赖拥有不同的恢复策略.,夸依赖支持hashshuffle和sortshuffle

b:

 1>Dagscheduler会调用handlejob.submitted找到最后一个rdd(finalrdd),

 2>根据Dag图沿着rdd生命线向前一次遍历,

 3>在遍历的过程中,如果出现shuffle rdd,就作为stage的划分依据,进行stage的划分,直到遍历到第一个rdd为止

4>在遍历完整个Rdd的生命线,根据rdd的生命线建立stage与stage的关系,并放到list集合中,作为先后调用的先后顺序.

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值