标签:不同的 ons 第一个 tput 树形结构 执行 count nbsp exe
Spark学习笔记总结
RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)
总结:窄依赖我们形象的比喻为超生(多个子女)
查看RDD依赖关系:
整个树形结构:rdd.toDebugString
本身:rdd.dependencies
DAG,有向无环图,原始的RDD通过一系列的转换就就形成了DAG,根据RDD之间的依赖关系的不同将DAG划分成不同的Stage,对于窄依赖,partition的转换处理在Stage中完成计算。对于宽依赖,由于有Shuffle的存在,只能在parent RDD处理完成后,才能开始接下来的计算,因此宽依赖是划分Stage的依据。
大致分为4步:
//textFile会产生两个RDD: 1. HadoopRDD -> MapPartitionsRDD
sc.textFile(INPUT_PATH)
//flatMap产生1个RDD:MapPartitionsRDD
.flatMap { _.split(" ") }
//map产生1个RDD:MapPartitionsRDD
.map { (_, 1) }
//reduceByKey产生了:ShuffledRDD
.reduceByKey(_ + _)
//暂时不管
.sortBy(_._2, false)
//saveAsTextFile产生1个RDD:MapPartitionsRDD
.saveAsTextFile(OUTPUT_PATH)
一共产生了6个RDD
执行流程:
初接触,记下学习笔记,还有很多问题,望指导,谢谢。
标签:不同的 ons 第一个 tput 树形结构 执行 count nbsp exe
原文地址:http://www.cnblogs.com/yulei126/p/6777292.html