RDD的依赖关系

RDD依赖关系

1. RDD血缘关系

RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,他可以根据这些信息来重新运算和恢复丢失的数据分区。

2. RDD依赖关系

这里所谓的依赖关系,其实就是两个相邻RDD之间的关系

3. RDD窄依赖

窄依赖表示每一个父RDD的Partition最多被子RDD的一个Partition使用,窄依赖我们形象的比喻为独生子女。

4. RDD宽依赖

宽依赖表示同一个父RDD的Partition被多个子RDD的Partititon依赖,会引起Shuffle。宽依赖形象的比喻为多生。

5. RDD阶段划分

DAG(Directed Acyclic Graph)有向无环图是由点和线组成的拓扑图形,该图形具有方向,不会闭环。

6. RDD任务的划分

RDD任务切分中间分为:Application、Job、Stage和Task

  • Application:初始化一个SparkContext即生成一个Application
  • Job:一个Action算子生成一个Job
  • Stage:以宽依赖(ShuffleDependency)为界,个数等于宽依赖的个数加1
  • Task:一个Stage阶段中,最后一个RDD的分区数就是Task的个数
    注意:Application->Job->Stage->Task 每一层都是1对n的关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值