wordcount执行流程的深度剖析

一、首先spark程序会去读取数据(以本地数据为例)

    spark程序在提交之后首先会去读取数据读取数据的代码如下:

 val lines = sc.textFile("D:\\QQPCmgr\\Desktop\\spark.txt", 3)

    首先会把本地文件中的数据读取到spark集群中,这些数据会形成三个分区

二、调用flatmap把每一行切割为一个一个的单词

 val words = lines.flatMap(line=>line.split(" "))

三、调用map把切割后的单词映射为(word,1)的格式便于在后面统计

val pairs = words.map(word=>(word,1))

四、调用reduceByKey统计每个单词出现的次数

 val wordCounts = pairs.reduceByKey(_+_)

五、说了这么多心中有数还不如心中有图:

    




阅读更多

没有更多推荐了,返回首页