文章目录
宅依赖
一个父RDD 对应一个子RDD 例如map ,filter
多个父RDD 对应一个子RDD 利于union
宽依赖
一个父RDD对应一个子RDD例如groupByKey,父RDD中某个分区被子RDD多个分区依赖
多个父RDD对应一个子RDD
宽依赖必定伴随着shuffle存在
一个RDD的依赖关系只能是宽窄二选一
以worldCount解析宽窄依赖
import org.apache.spark.{HashPartitioner, SparkConf, SparkContext}object TestSpark {
def main(args: Array[String]): Unit = {
val conf = new SparkConf()
.setMaster("local[*]")
.setAppName("Chapter5_2_1_8")
val sc = new SparkContext(conf)
val r1 = sc.textFile("e://data/1.data")
r1.flatMap(_.split("\t")).map((_,1)).reduceByKey(_+_,1).collect()
sc.stop()
}}1.产生job,提交Master之后会产生 application,随即产生一个Driver进程,执行多少次action操作,就会产生多少个job
flatMap:窄依赖
map:窄依赖
reduceByKey:宽依赖
















