Spark开发-WordCount流程详细讲解

来源:互联网 发布:百度怎样做优化推广 编辑:程序博客网 时间:2024/05/16 19:48

核心
wordcount流程详细讲解

有一份这样的数据
hello xlucas hello hadoop
hello hadoop
hello spark
hello kafka

最后的结果是这样的
hello:5
hadoop:2
spark:1
xlucas:1
kafka:1

那么这里spark主要做了哪些事情?

我们先从textFile可以看到这里调用了HadoopFile
这里写图片描述

从HadoopFile这里我们可以看到,创建了一个HadoopRDD的实例
这里写图片描述

在去掉Key的时候会做Map操作,这个map会返回 一个MapPartitionsRDD
这里写图片描述

这里的flatMap也会返回一个MapPartitionsRDD
这里写图片描述

在做reduceByKey的时候,其实调用了combineByKeyWithClassTag
这里写图片描述

我们可以看到combineByKeyWithClassTag其实返回了一个shuffledRDD
这里写图片描述

我们可以看到在shuffledRDD最后还做了一个MapPartitionsRDD的操作,其实这一步主要做了一次数据整理,在操作之前将文件的key去掉了,这一步将文件的key加上写回到HDFS等操作
这里写图片描述

整个流程图是这样的:
这里写图片描述

原创粉丝点击