00:00
呃,这个aggregate啊,稍微特殊一些对吧?那所以呢,我们就单独的来讲了啊,那么接下来咱们往下看,下面呢,我们这边有一个叫for啊,这个forld是什么意思呢?其实啊,就是当我们的aggreg它的分区内和分区间的计算规则相同的时候,可以呢,用咱们的for的这个算子呢来进行简化啊,所以这个代码呢,我们就先不改了,咱们就用它就可以了啊同学们看来把这个呢给它做掉。做掉以后,这个呢,我直接改成叫for的,但是呢,我说了分区内和分区间它的计算规则是相同的,相同的情况下你直接这么做就OK了,所以运行运行以后它的结果依然应该是我们的事实啊,这个就跟我们之前讲那个叫aggregate by key,当它的分区内和分区间相同的时候,可以采用叫for by key来进行简化是一个道理啊,结果是不会有任何变化的啊,它是可以进行简化,还是不错的。嗯,好,这个咱就不多说了,咱们接着往下,下面呢叫count by key啊,这个呢,给大家说一下,来把它关掉。
01:10
关掉以后来我们把它写上一个我们的零四啊,然后呢,写上一个它,诶好,然后我们回过头来放到这边,嗯,行了,那我们干嘛呢?我们接着呢,往下来讲,下面呢,还有大家看一下我们RDD,它有一个叫count by key啊,有这么一个东西叫count啊,咱们叫BY,诶不对,老师你的这个没有by key,没有by key的原因是什么?是因为咱们这边没有key对不对,所以啊,你看不到那个叫count by key,但是你有个什么东西啊,叫count by value,所以啊,咱们先给大家count看,这个叫count by value是什么意思啊,那其实也简单,因为我们说了这个不是K类型的,它就是单类型,那么现在就问你了,单子类型当中我们的数量是什么啊?所以我们来点一下,直接来吧,咱们直接collect啊来或者别collect了,咱们直接是不是,嗯,给他个VR回车,回车以后它就是个map呀。
02:11
那这个map我们是不是可以直接打印呢?诶就是这样啊,好,那么现在呢,我们放过来,放过来以后我们来看一看我们这个count by value它的结果是什么样子的啊,这里的value记住了,不是键值对当中那个value,而是我们这个单值类型的这个value是这个意思啊,那么它执行的结果当中,大家会发现,诶,这个VALUE4出现了一次,这个二它出现了一次,这个一出现了一次,三出现了一次,所以啊,它表述的是我们这个值它的次数,它的个数,那如果大家看我这么写呢,我要这么写的话,来,我这么写,你这么写以后你再来运行,那么我们这个value是不是出现了三次呀?哎,所以说这个地方我们完全可以干嘛呀,咱们来统计它的一个出现的次数,也就意味着它的数量,嗯,那么一应该对应着我们的三对不对啊,就是这样。
03:05
OK,一出现了三次,四出现了一次,就这意思,好,那么既然有count by value,那我们现在准备演示另外一个就是那个叫count by key了,那么你count by key,那咱们肯定干嘛呀,咱们得去多写几个吧,所以来拷贝啊,来把这个放过来,这个咱们掉,嗯,做掉以后,那我这个地方咱们就来了啊,这个二我就不要了吧,啊这个写个二看着也不太舒服,嗯。好,那我在这里呢,写上阿M括号,诶,我们写上一个A,然后写上一个一,然后呢,来拿过来啊,拿过来拿过来,好,那我现在呢,我就这么写了,这么写的话,大家会发现这样是A,它表述的是什么?表述的是这个字误串A作为K,它出现了三次,诶但是记住啊,同学们,我说的三可不是一加一加一等于三,我说的是什么呢?出现了三次,所以呢,它这里面的这个操作呀,大家看叫RDD点叫count by key。
04:02
By he在这。这个时候啊,它表示是A它的次数,而不是跟V没有什么关系啊,所以点一下叫VAR回车,回车的时候你会发现它依然是咱们的map类型,但是这个string它表示的就是我们的key了,而这个浪表示的是次数啊,所以把这个咱拿过来。拿过来以后我们放到这里其实就够了啊。好,我们先来看看它的结果呢,应该跟我们预想的是一样的啊,咱们这里呢是AAA,它出现了咱们的三次A,你看就是这样。好了,同学们,这个我相信还是比较简单的吧,嗯,好。
我来说两句