00:00
现在我们的环境已经是OK的,同学们,那环境没问题的话,那咱们接下来就准备来开发一个小的功能,小的案例,那么这个案例的名字咱们叫word count world count,它是我们大数据计算当中一个非常重要的一个官方案例,那所以在我们学习的过程当中,这个案例是必不可少的,但是我们不可能上来就直接开发代码,对不对,我们需要有一个思路在里面,那我们接下来呢,给大家通过画图的方式,先把这个思路捋顺了,然后我们再来写程序,好吗?同学们来,那么首先我们这里呢,打开,打开以后呢,我写上咱们叫做word count,诶好了,写完之后我现在要做什么呢?我现在要模仿我们的两个文件,比方说我们要读取文件,对吧,那好,我现在呢,在这边我们准备把这个我们拿过来啊,咱们手写的稍微小一些,诶稍微少一些,比方说这是一个文件啊,这是一个文件,1.tit,诶咱们这么写,然后呢,这个。
01:00
文件当中会有一些我们的嗯,文字内容,字符串的内容,所以在我这里呢,给它来协商,比方说我们就叫hello,然后呢叫做skyla,诶咱们这么写,然后再来我们拷贝,拷贝以后我们再写上一个我们叫Spark,嗯,好了,然后的颜色呢,我稍微稍微的给它变一下啊,咱们的颜色给它一个红色,然后呢,这个字体呢,给它变成白色,稍微的给它反差一下,所以这里我们写上一个白色,好了,接下来拷贝我们还有第二份文件。放过来,那么这里我们写上二啊,写上一个二,嗯,那么这个二呢,我们写上,哎,这个我们觉得是一样,但颜色我最好区分一下来,我们写个蓝色,所以现在呢,我们就有两份文件需要去读取了,那么你读取的时候,你要把数据一行一行读过来,对吗?所以在这种情况下,我们来啊,给它放过来,放过来以后我在这里给大家写一下,这里我们写一下来,第一个咱们就叫hello,我们叫做skyla,这是我能够把数据一行一行给他什么取出来啊就可以了,然后箭头我们指向它,诶指向它,然后为了区分开你的数据是从哪个文件读取的,所以这个我们的小方块,我们也给它加上一个红色。
02:18
然后接下来我们这里呢,再来把这个放到这边啊,这个我们应该叫hello Spark,诶,Hello Spark好了,接下来我们再来啊,拷贝,拷贝以后这个应该是从下面来读取的,但是颜色应该发生改变,对吗?所以变成蓝色就可以了,好,那我现在呢,这样的话我就知道哦,原来我们的数据可以读取成这个样子,对不对?可是你最后想得到什么样的结果,你中间该怎么做处理啊,这个是你需要考虑的,先不要考虑中间的过程吧,先考虑最后我们想要什么,最后想要的不就是word count每个单词出现的频率,出现的次数吗?所以最后的结果应该是这个样子,大家看一下来,我们写上叫hello,给它写个逗号,比方说四,它表示的是hello这个单词,它出现了四次,那么再来我们下面是我们的skyla拷贝,拷贝以后放过来,我们的SKY呢,出现了两次对吗?诶出现了两次放过来。
03:19
还有我们的Spark,它也出现了两次,所以这个是我们最终想要的效果,而你现在这个是我们的原始数据,那你怎么能够把原始数据一步一步的变成最后的这个统计的结果,这个是我们关心的,好,我们现在先不考虑怎么去实现它,咱们先去分析,分析怎么能够变成它。对吧,我怎么实现不知道,没有学方法呢,没有学我们的18框架呢,我们现在先分析一下,从图形的角度来讲,怎么能够变成它,那么这个时候你首先要遵循一个原则,什么原则呢?就是我们之前给大家提到过的一个叫做什么叫缺什么补什么,缺少什么啊,咱们叫缺什么补什么。
04:06
这句话是什么意思呢?就是说呀,我们在处理过程当中,你给我的数据的格式不见得满足我的要求,那么在这种情况下,你缺少什么就要把它补上,大家有没有发现咱们的这个地方有一个一个的单词,你这有吗?没有,那没有怎么办?那没有是不是就意味着我应该把它补上啊?所以说来缺什么补什么,你要把你的单词给它补充上,可是我哪有单词呀,我只有一行一行我们的数据对不对?诶,没关系,你就想办法把这一行一行的数据变成一个一个的单词不就行了吗?因为你的一个一个单词不就在一行当中吗?所以大家看我就把这个hello,诶,我就变成了这个样子,大家看,诶放到这儿,放到这儿以后拷贝拷贝下面来,这个呢,就是我们的skyla好,那么诶不对,咱们的SKY了,接下来我们的hello,诶放到这里,然后这个呢,是我们的这个。
05:06
叫Spark,嗯,好了,咱们的Spark同样道理,我现在把它们四个呢复制一下,复制以后到这边啊,但是我的颜色需要发生点变化,它是蓝色,它表述的是来自于不同的文件,对吗?同学们这个能不能懂,能不能明白我们现在的这个数据的来源,你不是没有单词吗?诶,我把它拿过来,可是这个单词呢,就来自于咱们的一行一行的植物串好了,那你现在已经把单词拿到了,那你怎么能够得到这个单词出现的次数呢?其实呀,有很多种方式,比方说诶,我一个一个去统计可不可以可以,但是效率感觉不高,那么我们怎么办呢?诶,我们可以想这么一个办法,我能不能够将相同的单词给它放在一块儿呢?如果我能把相同的单词放在一块儿的话,那你统计起来不就更加的容易吗?比方说,诶,相同的单词我就想办法放在一起来,放在一起,然后呢,这个hello hello拿过来放到这儿,你看相同的单词我放在一起了呀,对不对,诶放在一起了,然后呢,我们的盖LA,诶盖LA放到这边。
06:19
然后这个代了呢,我们放到这边对吧,然后这个Spark,然后放到这儿,然后这个Spark放到这儿,大家有没有发现你现在就已经把相同的单词放在一块儿了,那我问问同学们,这个想做统计是否容易呢?我相信想做统计的话应该还是比较容易的吧,为什么你都把它放在一块儿了,这一看哦,1234,这不就知道了吗?所以说来我们放到这里,大家看一下,我现在把它们做一个简单的汇总。你汇总之后,那你要想得到咱们这个hello,我们的是非常容易的啊,所以来写上一个四就够了,那么同样道理,你的这个skyla你放到这边,它这边呢,其实就有两个对吗?所以来盖LA,我们这里给它写上一个二。
07:11
好了,还有我们下面的这个地方,它叫Spark,它其实也有两个啊SPARK2,好了,大家有没有发现你这么做了以后,就等同于聚合了吧,正好缺什么补什么,刚才是不是缺少数量,现在数量是不是也有了,有了数量之后,那这个时候拷贝,拷贝之后大家看一下是不是就可以直接变过来了呀,所以说我们最后不就达到了这样的效果吗?所以咱们通过画图的方式给大家简单的分析了一下它的一个执行的操作,就是说你只要按照咱们这个步骤就可以把文件中的数据统计出它单词出现的频率,对吗?同学们。
我来说两句