00:00
现在呢,我们就把我们的这个分析的流程,咱们简单的说一下,给大家写上,咱们叫数据分析流程啊流程,那这个流程啊,那首先我们在这里呢,就来画点图了,点击插入来吧,我们写上啊呃,我现在就这么写,嗯,就是它这个里面呢,我再来画一个,咱们再来一个插入,然后选择一个形状,诶放过来,这是我们的,它这个呢,我们就称之为叫什么呢?叫。我们里面是存储数据了,那你是不是要把里面的数据通过分析个分析和统计之后放到哪里去,放到我的买当中吧,那所以说是不是放到买当中,哎,所以啊,这里呢,我们用它来表示,这个就是我们的买来买蛇,哎,就这个意思吧,好了,那你是直接就能过去嘛,应该没这个能力,对吧?所以我们中间是不是就是加入我们的什么map呀,所以我这里要增加我的map啊,所以啊,这里来我们写上。
01:03
把这个呢,我放大一些啊,把这个我放大一些,嗯,好,嗯,我想想还不够大,嗯,还是不够大呀。好把这个标删掉,然后呢给它放过来,放过来以后呢,给它来放过来,这个我用紫色表示啊,这个呢就是我们的matter,然后呢,这个是我们的什么啊啊啊迈的目的是什么。Map的目的是什么?是不是要把我们的数据给它读出来啊,对不对,把数据给他读出来,但是你读出来以后,难道是你有一条我就读一条吗?那然后我再统计吗?应该不是吧,因为我们的数据它是一个通话的一个记录,可是我们要得到的结果可能可能要分很多的指标吧,比方说年,比方说月,比方说日,对吗?那所以我的数据可能是一条,但你拆分成的那个什么,我们的维度,我们的那个数据指标可能不是一条,所以在这种情况下,我们这个map它应该是一个什么?分解数据的过程,所以我们写上叫分解或者叫拆分数据的一个过程啊,就这样,所以也就意味着我的一条数据过来,举个例子啊,我现在呢,我的一条数据过来,就这一条,这一条数据呢,我用一个蓝色表示啊,太好了,那么他过来之后啊,诶,我这地方再画个箭头吧,这条数据被我读出来了,他被我读出来以后,到了我的麦克阶段是不。
02:27
就可能会拆分成多条啊,诶所以啊,我要给它分解了,诶所以呢一条诶两条就是这个样子啊,但是呢,我们再来,嗯,好,我这个呢,我换一个红色表示的是什么呢?他们主不一样。因为你们要知道是我分解之后,他就要按组分组的对不对,分组之后是不是相同的组就会放到一个任务当中,放在一个里面对不对,那所以就意味着形成了一个这样的结果啊,所以我这里画了个箭头,这个箭头呢,表示的是分解的意思,所以啊,把这个呢给它拿过来啊,嗯。
03:00
然后呢,箭头把这个呢给它放到这里,然后箭头呢,给它放过来啊就行了,好,那你分解之后,然后呢,要把数据传给谁啊reduce reduce的目的是什么?Reduce的目的是不是就聚合呀,所谓的聚合就是统计吧,把它合在一块对不对,那所以也就意味着我最后就可能形成什么东西了,形成了我们的两条数据,对吗?诶就是这两条是不是合并了它呀,合并形成一条了,那这个呢,又跑这儿来了,所以我这个颜色呢,标成一个红色啊,所以有个聚合的过程,所以呢,它就过来了,他过来以后,我的这个线呢,诶就走到了这儿啊就这个意思,所以把这个拿过来,他们就走到这个位置合在一块儿了,然后呢,我的这个红色的呢,诶就过来了,所以呢,把这个拿过来,拿过来以后,那这两条就是我的什么结果吧,那我的结果是不是应该往哪放吧,应该往我们的MYS里面放了吧,哎,应该就这个样子啊,所以我们的数据应该是一个分解和聚合的过程和。
04:01
的一个过程啊好了,那这个呢,是我们的分析的结果,那也就意味着我们要想办法来通过我的分解把数据给它拆分好,然后呢,在聚合之后把我的数据的统计结果得到,最后按照咱们刚才表的分析把数据得到,那所以啊,同学们想想,那我的这个地方同学想咱们别的不说,你这是通话次数和我们的duration通话时长,那就意味着我们这两边应该得到什么东西啊,首先它是不是应该是某个用户的通话的什么东西啊。就是我们的那个什么东西啊,那个靠吧,对吧,你把那个靠给它统计上面一下对不对?同样道理,你下面这个应该叫什么东西啊,那个Du吧,应该是那个Du啊,好了,如果你是duration的话,那这个号和duration是不是应该都从这边传过来啊,那也就这边我就应该得到他的那个duration和他的那个通话的那个次数,对吗?哎,所以啊,我们到做的时候就按照这种思路来做了,可是呀,我们这个是map,我们这个是这个没有任何的问题,Map我们来分解,我们的来聚合,可是你聚合之后的结果,你怎么把它放到MYS里面呢?
05:09
我们我们的目的是为了把它放到my circleql里面,可是我写什么样的程序可以把它放进去呢?这个时候啊,你要记住你们之前学过的东西应该都用不上了,为什么呢?因为他没有专门的这些类来处理这个事情啊,你像如果要是把我们的数据放到我们的哈当中,是不是有啊,啊有那个叫outp,对不对啊,就是这样,但是我们这里呢,就没有了,没有怎么办?我们的map啊,它提供了这么个东西,所以啊,我这里来加上一个我们的标注。加一个标注,我放到这儿。放这啊,就放这儿,放这儿的目的是什么呢?就意味着在我reduce到我们目的地中间我加一层,这一层呢,是什么东西呢?就咱们称之为叫outpput。叫output format啊,就这个东西,其实啊,这个其实你们应该有什么了解过,为什么呢?因为我们之前其实用过类似的。
06:07
咱们在这个地方是不是有个什么东西啊,有个叫啊对不对,有个叫是吧,这边有个叫P,咱们这个用的是那个吧,啊那个是file,然后呢,从哪里读啊,从我们的哈杜里面的那个文件里面来读取数据,对吧?读完数据以后来保存,那所以啊也意味着这个地方是有input的,这边是有个output的,那有output的话,我们要自己去完成它的实现,所以我这里的目的很简单了啊,这里呢,就是我的my circle的in,什么insert,诶买circle要去inser的数据了,所以啊,咱们把这个呢,咱们要给大家分析一下啊,最起码我们哪一块干嘛用的,我们要知道啊。好了。
我来说两句