00:00
好,接下来呢,我们来执行一下程序啊,看一下这个代码有没有问题啊,看看是否能一遍执行成功。嗯,还挺快啊,挺快的话,执行完毕之后,我们来查看一下结果。嗯,地盘。Hioop output3。查看一下。啊,打开啊,这是运行结果,那你也得跟你这个输入数据啊进行一个对比啊,比如说呢,这呢是输入的数据。对吧,你得算一个。看看它是否正确,那这里面看谁呢?嗯,建议来看这个吧。你看这个啊。啊,那这个它有什么特点呢。他呢,这个手机号啊是相同的,前面的手机号都不相同,对吧,那是135684,嗯,135684对吧。6656啊,然后呢,它这个上行流量啊是3597,那我们加一下上行流量呢,是它加上它加上的是3597,哎,正好3597对吧,那下一轮量呢,是24681加上954,那你算一下,然后三。
01:16
嗯,三进一的话,然后六进15225635对吧?哎,25635啊,这是它,然后你再加上对应的这个3597,它俩加在一起是不是就等于这个肿瘤量啊,因为你这五五加七是不是等于二末尾啊,然后再往上加就OK了啊一证明这是OK的。啊,那这个说完之后啊,哎,我们再来进行一个debug哈,前期大家在学习的时候啊,尽量呢能用debug多练习一下这个debug这个功能啊,非常有用。啊,因为你作为一个程序员,你说你debug用不熟,那你遇到bug之后你怎么办呢?你说我这个用眼睛去看啊,这个不现实哈,其实你用debug啊,这个一执行就能看出来,相应的这个哪里出现问题啊。
02:01
那还是debug最核心的思想呢,就是你在哪里面进行打断点,这是非常关键的啊,那你关心什么,就在那打,我们关心的是它在map里面。的运行逻辑,我们还关心他在reducer里面运行的业务逻辑啊,那你在这里面打上行了,那至于他之前我们打那个初始化呀,还有那个,呃,Clearup我们就不在这里面打了哈,因为那里面没有我们的真正的业务逻辑,业务逻辑呢,都在这个map和reduceer里面。行,那回到这儿开始debug运行。点击下面这个啊,小虫子。那下面呢,这个,哎呀,这是以前的断点啊,以前断点给它打掉,然后全数运行对吧?哎,全数运行直接就进入到这里了,进入到这里面。啊,我把这个输入数据拿出来。输入数据。好,就这吧。先把前几行截一下就行了啊。
03:03
看一下首先啊,获取一行对吧?哎,进来的话呢,第一行呢,就是1373625053,你看知道吧,哎后面呢,这是对应的这个,呃,网址域名解析,还有呢,上行流量下行流量以及这个状态码啊OK,进来一行,那进来一行之后,那继续往下走呗,嗯,下一行。下一行来到这,来到这之后呢,是对这个数据啊进行一个切割好,切割完毕之后,在split里面看一下这个split,它就把它变成了对应的数组了。哎,输入输入里面第一个值,第二值第三值第四个第五个第六啊一直往后推,那下面往下走,走完之后,诶,这个手机号我们就获取到了137,诶36230513。再往下找,下面呢,这个呢,就把这个上行流量2481也获取到了。再执行一下,再执行一下呢,这个档是看看啊档是多少档是24681对吧?啊24681啊OK,那下边往里面进行封装,那phone手机号封装完毕,嗯,上行流量封装完毕,下行流量封装完毕,那么这个总流量能不能看到呢?
04:08
看一下这里面output v。点开。对吧?哎,这个sum flow就是上面这两个值的一个累加,累加完正好等于它。哎,经过调用这个方法就实现了相关功能,好,这是第一行,那我们可以全数前进,好快速,诶来到第二行,那第二行呢,进来的就是1384544121对吧?那第二行呢,这里面正好有一个域名没有,那看他怎么截的啊往下走。那种。继续往下走,下边呢,诶来手机号对吧,诶手机号没问题,再往下,下面呢,是这个上行量264啊264再来。再来这个是大是零,你看是零吧,所以说这一块要是对的话,那后面差不多就都OK了。相当再走两步吧。走两步。走两步哎,加在一起看这个总流量,我们再盯一下总流量。
05:02
看一下。它俩加在一起264。对吧,哎,这就没毛病了哈,那没毛病的话呢,这个行数比较多,那你一直在这个一直全数运行啊,其实比较慢,那怎么办呢?把这断单取消,取消之后全数运行,诶直接就进入到这个啊。Reduce里是吧,哎在执行,现在呢,就来到了reduce方法,哎,这就是你调试的一个技巧哈,那reduce里面我们的计算结果,那怎么看呢?来教大家一下啊。看一下二三里面的值还记得吧。把这个再盯一下,因为啊,它这里面hi do默认是对这个输出结果进行排序的,对吧,他先执行谁后执行谁是有说法的。那首先进来这个K谁啊,输出的结果是134。0253144对吧?啊,这一行内容进来,那进来之后呢,往下走走,哎,初始值初始化完毕之后,那其他行啊,正常情况下它是不是都是一个值啊,上行流量180,哎,下行流量180。
06:01
往下对吧,哎,循环一遍之后,咔往下走,哎直接到这儿了,那到这之后呢,它进行一个封装,180180SUM那萨是多少呢?看一眼对吧,三百六啊360,那我再全数运行。那第二行第二个可以进来的是135啊,135这个,呃,135这个行,那再全出手吧,看有没有那个重复,那个号是多少了。135。咱们输入数据当中是135684这个重复的吧,135第四第四次。好,13556。135684对吧?哎,135684,看一下输入数据,135684,它是呢,需要循环两次进行一个累加,那看一下这个有代表性啊,那好来到这了,现在已经是135684了。往下往下看它循环几次,第一次获取的是2481,然后再开轴。啊,24681。
07:00
我走。看哎是不是又进来一次啊哎又进来一次,然后进行一个累加3597,再累加25635啊然后之后呢,再往下哎出来了,出来之后呢,把这个上行流量下行流量和总流量一进行总的一个输出就结束了啊好,那这个呢,我就把它取消,直接全数运行。这尾部还有一个啊,好,先束手。嗯,应该是差不多执行完了,我们来看一下这个最终输出结果哈,奥四。OK对吧,哎,跟我们现在这个结果就是一样的啊,再呢就是用这个debug运行来观察程序的一个运行情况,如果发生问题的时候,可以用这个debug进行快速的一个定位,哎,这个呢是学习最好的一种方式啊,所以说从现在开始这个debug是一定要会的。对于以后的成长啊,非常重要。
我来说两句