在Spark中,每一个RDD是对于数据集在某一状态下的表现形式,比如说:map、filter、group by等都算一次操作,这个状态有可能是从前一状态转换而来的;
因此换句话说一个RDD可能与之前的RDD(s)有依赖关系;RDD之间存在依赖关系;
根据依赖关系的不同,可以将RDD分成两种不同的类型:宽依赖和窄依赖。
窄依赖:一个父RDD的partition至多被子RDD的某个partition使用一次;
宽依赖:一个父RDD的partition会被子RDD的partition使用多次,需要shuffle操作;
图中方框描述:外面的大方框是一个RDD,里面的小方块是RDD中的partitio