在spark-shell中进行wordcount的流程分析

spark-shell的启动流程:

image.png

wordCount执行流程

  1. val lines = sc.textFile("...") -->HadoopRDD读取文件内容--->MapPartionsRDD[1]
  2. val words = lines.map(_.split(" ")) -->MapPartionsRDD[2]
  3. val ones = words.map((_,1))--->MapPartionsRDD[3]
  4. val counts = ones.reduceByKey(+) -->ShuffledRDD[4]

wordcount 产生4个RDD,会被划分成两个stage:ShuffleMapStage和ResultStage

这个job会有两个分区,所以这两个stage会分别产生两个task,每个task会被尝试执行多次直到执行完毕。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容