1. val lines = sc.textFile(../hdfs/...txt)
lines类型是MapPartitionsRDD。
这一步实际上会生成两个RDD,除了MapPartitionsRDD类型的lines,还会事先生成一个HadoopRDD。
2. val words = lines.flatMap(line=>line.split(" "))
words类型是MapPartitionsRDD。
3. val markOnes = words.map(word=>(word, 1))
markOnes 类型是MapPartitionsRDD。
4. val counts = markOnes.reduceByKey(_+_)
counts 类型是ShuffledRDD。
5. counts.foreach(println)
上述代码一共生成了5个RDD,被划分成了ResultStage和ShuffleMapStage。