RDD的依賴關(guān)系
窄依賴
每個(gè)父RDD的一個(gè)Partition最多被子RDD的一個(gè)Partition所使用喉恋,例如map,filter,union等都會(huì)產(chǎn)生窄依賴;
寬依賴
一個(gè)父RDD的Partition會(huì)被多個(gè)子RDD的Partition所使用戈泼,例如groupByKey,reduceByKey,sortByKey等操作都會(huì)產(chǎn)生寬依賴。
總結(jié):
如果父RDD的一個(gè)Partition被一個(gè)子RDD的Partition所使用就是窄依賴吕粹,否則就是寬依賴族扰。
特別說明:
對(duì)join操作有兩種情況厌丑,如果join操作的使用每個(gè)partition僅僅和已知的Partition進(jìn)行join,這種join操作就是窄依賴渔呵;其他情況的join就是寬依賴怒竿。因?yàn)槭谴_定的Partition數(shù)量的依賴關(guān)系,所以就是窄依賴扩氢,得出一個(gè)推論耕驰,窄依賴不僅包含一對(duì)一的窄依賴,還包含一對(duì)固定個(gè)數(shù)的窄依賴(也就是說父RDD的依賴的Partition的數(shù)量不會(huì)隨著RDD數(shù)據(jù)規(guī)模的改變而改變)