1、RDD的宽依赖和窄依赖的区别
是否有shuffle操作,也叫洗牌操作
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TTq1Ee0cFZxx2VZFDayMmb1cVWvB3MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL4cjM0ATN0QTMwMTMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
窄依赖:
一对一 或者 多对一
宽依赖:
一对多
窄依赖可以进行流水线优化,宽依赖不可以
优化:fork/join 机制
一个作业可以划分成多个阶段 每个阶段都是一次fork/join,多次fork/join就是宽依赖
一个作业也可以直接一个阶段完成,这就是窄依赖
宽依赖:有shuffle操作的时候 需要落到磁盘,需要等待,没有办法形成管道型的流水化处理。
RDD的运行过程:
1、RDD的宽依赖和窄依赖的区别
是否有shuffle操作,也叫洗牌操作
窄依赖:
一对一 或者 多对一
宽依赖:
一对多
窄依赖可以进行流水线优化,宽依赖不可以
优化:fork/join 机制
一个作业可以划分成多个阶段 每个阶段都是一次fork/join,多次fork/join就是宽依赖
一个作业也可以直接一个阶段完成,这就是窄依赖
宽依赖:有shuffle操作的时候 需要落到磁盘,需要等待,没有办法形成管道型的流水化处理。
RDD的运行过程: