00:00
好,接下来呢,我们讲一下这个系列化案例实操啊。看一下我们如何来实现一个自定义系列化。呃,统计每一个手机号耗费的总上行流量,总下行流量总。这是需求。那这个数据在哪呢?在这儿。这是数据,在这个数据当中,你猜谁是手机号啊。猜不出来是吧,太难猜了啊,肯定是第二列是吧?啊第二列呢,是这个手机号啊。那总的上行流量能产出来吗?也猜不来是吧。这倒数第三列对吧?啊,倒数第二列呢,是下血量啊,那这一列是什么。你看404。五百四零四两百啊。网络请求的一个状态,对吧,啊网络。那这个呢。IP地址对吧,那这个呢。域名啊,这是啊。
01:00
OK,那左侧这个呢。ID吧,哎,他的一个ID哈,ID,所以说呢,这个呢,这些描述呢,都比较简单,那只不过现在这里面出现一个小问题在哪呢。呃,我们想这个是统计每一个手机号花费的总上级流量,总下级流量。能量述实在没有啊。你看这是总上行流量吧,这是总上下行流量。啊,这是手机号这三类我们需要,其他的列我们需要吗?你看其他类是不都不需要啊啊有个手机号就够了啊,他够了,剩下流量他下下流量,他上下量下下流量,那总流量是不是他俩一相加就OK了。那这里面还有一个特殊数据啊,你要注意一下这地方啊。啥意思?是不是一个手机号啊,一个手机号里面,呃,他分了两次统计啊。所以说我要把这香港手机号呢。单要哪家啊?
02:01
那就是。数据的一个分析啊。这是输入数据的一个格式,这是输入数据我们期望的值,我们期望的结果呢,是将这里面的手机号拿过来。家里面的上去流量。和下流量分别拿过来。最后总流量是它们两个的和放在这。什么要做的事情啊?看一下具体的需求吧。这是需求,这是输入数据,这是我们期望的结果啊,期望结果。之后map阶段,看看map阶段我们要做什么事情。想一想,这是一行数据对吧。那我就读取这一行数据。把它变成。十对吧,哎。十分类型。之后切分之段。接分成什么字段呢?我要求获取里面的。手机号。
03:00
站着量。下行流量。都通通拿到。手机号上线流量下限流量啊。到之后。怎么拿呢?说可以再拿,可以不再拿。在什么时候拿可以,是不是在reduce之间注意汇总就完事了。干了啊?这个字段,然后我是以手机号为P啊。并对象为外流值进行传输。那我为什么要以手机号为key呢?是不是最终你要对这个手机号进行相同手机号的流量进行累加呀。千的手套里累加,所以说呢,要把它放在这个K这个位置。那么为什么是传一个B对象呢?那你还记得这个输出的类型,呃。四个参数对吧,前两个是输入法啊。后两个是输出,输出一个K一个V。那这个K呢,是手机号了,那你这个V如果是既有上限流量也有下限流量,那这个V怎么定义。
04:04
是不是肯定得把它变成一个。B对象啊。封装起来进行一个统一的传输啊,这个应用呢,在企业开发中用的。是非常非常多的,你看我们在这个你的一个数据,既然不是B对象,每次就传一个test呢,怎么。OK,那好,那我们就把这个手机号设置成PB,对象设置成value。那现在出现问题那。你这个病对象。他能去的话吗。你需要将这个B对象进行。啊,也是按照我们之前定的那个积木啊。我们目前这个案例呢,需要六步就能搞定。OK,这是卖阶段。首先是。获取一行,然后呢,切割图一个一个的字段啊,进行封装之后写出啊。
05:00
解除之前需要对这个病对象进行一个。再下到radio阶段,那阶段干什么呢?将相同手机号的。上行流量和下行流量。汇总吗?累加求和。之后就可以写出去了啊,直接这样出写。这是系统化的一个案例的一个分析。呃,之后呢,其实我们最开始要先写谁呢?先写一下这个B对象,让它实现启动。什么不写它的话,你写到map的时候,你定义它输出类型的时候,是不是就需要它了。所以说呢,我们一会儿呢,先写这个。对对项实现。系统化接口。
我来说两句