00:00
好,接下来呢,我们讲一下这个自定义partition。那为什么要自定义呢?刚才我们也看到了,系统默认的分区是。哈,西盘的对吧,哎,我们肯定希望这个。这个分区能为我们用户的这个具体的业务去服务,比如说我就想按照这个K的协商和。比如说这个。手机号吧,手机号的前三,前三位137。138。888等等,那我只想获取根据这个手机号的前三位进行一个分区。前三位一样的放到一个文件里面去。很简单,你只需要按照这个系统要求自定义这个就OK了。自定义类继承一个part。重写里面的get方法。另一个类继承它啊。
01:01
那大家猜一下他这个value。是跟谁一样呢?谁执行完到了那个爬山呢。做map的输出啊,Map的输出,那这块对应的就是map输出的K和。那再往下呢,就重写它的get方法。Key value,那这呢是part或者是啊,其实都差不多。而中间呢,这块呢,具体的业务逻辑。控制着你输出多少个分区,多少个分区,那最终你就返回到值,它这个分区号呢,是从零开始,0123啊。不能有空的啊,都是从零开始。那比如说01234,那就分成。可能亮相。在驱动驱动中设置自定义。这个呢,就是在驱动类中,因为你自己写了一个这个自定义的盘头,你得让那个job跟他进行一个关联,那就设置一下。
02:03
跟我们之前的一些配置都是一样的啊,一个套路。再往下呢,是自定义这个part后,要根据自定义的part的逻辑设置相应数据,呃,数量的这个test。就是这个设计为多少个。会影响什么?那后面呢,我们一会儿来测试一下啊啊。Z呢是比如说设置这个为五。一会看啊。这是自定义排列的步骤,那我们看一下这个案例。案例需求。这样的。将统计结果按照手机归属地不同省份。不同省份输出到不同的文。软件中。那你看一下这个数据吧。这是相应的数据。希望什么呢?希望输出的数据是136、137、138、139开头的,都分别放到一个独立的四个文件中。
03:06
那说的136放到一个文件里面去。137放一个文件里面去。四个文件啊,四个文件。138放一个,139放一个,其他的呢放到。独立文件里面,那其他的就剩下的呗,那。是不是最终要输出五个文件呢?那五个文件,这是原数据。这个输入数据呢,我们稍微对它进行一个优化了啊,优化成什么样呢?呃,以这个。啊,这个没优化没化下一个优化。那这个呢,就是数据输入。这呢是输出。但是我们可以基于2.4的一个案例,2.4是谁呢?还记得他吗?应该是2.3了,这是。
04:01
呃,序列化一个案例这块,是不是对这个数据进行一个封装啊,手机号他流量了吧。那就是在这个基础上会简单一些啊,否则的话,你可能还要去重新去封装这个B对象啊等等比较麻烦。就到这儿。比如说输入是这个数据,然后输出到五个文件里面去就OK。136是在零分区,137在一分区,138在二分区,139在三,其他的在分区是。那只需要在驱动类里面去这么一设置。是什么呢?关联一下你写的这个分区,那另一个呢,就是设置这个number这个。个数。那下面具体的实现我们来看一下哈。我们在这个哪个的基础上呢。来到这个币。
05:00
他呀。在他的基础上解说。他这个案例大家还熟不熟?来捋一遍。这里面实现了什么?制定一个并对项是实现了一个计化啊。B对项实现虚拟化,那在map里面干什么事情?获取一行切割是封装对象,封装对象完事之后谁为K?手机号为B是不后面的具体的流量为外网啊写出去,那radio阶段干了什么事情呢?是不是总流量的一个汇总啊,啊总量的一个。行,那我们在这里面定一下,定一下。右键上下一个类。定一个省份的分区。那这里面要求继承函实践。继承。啊,书包了,那他的是。
06:04
输出对吧,迈克的输出是。Test和有手机号和这个手机号的B对象对吧,好那。搞定搞定之后,他要求你重写它的get马替身方法。那来到这儿之后,这是存的手机号对吧,你们。那这个value呢?视频对象对吧,是流量是吧,流量信息。那我们要求还是什么呢?看一下需求啊,要求是。加手机号为。136的放在一个分区,137的放在一个分区,138的放一个分区。
07:04
怎么报呢?那这个手机号是不得获取他的前三位啊。那过去手机。前三位。那前三位手机号是在这个K里面对吧?啊。到这个k.two three啊。转换成实际类型,然后点大直从哪截到哪呢。到。23。三吗?左臂右开对吧,哎,左臂右开OK。手机号的这个前缀啊,前三位,前三位拿到之后。
08:00
干什么是要判断啊。看着这个幺三。实质类型判断是不是将这个量化前面。第二一个是。Number,那么如果说等于它,那是要返回分区号啊,哎,那你要提前定一个分区号的表示。R等于。默认等于一个四吧,因为我一共是五个分区啊。一共要分成五个分区,那么呢,就从零到四。到四哈好。那136就是partan等于零。137。第二,异构。Free phone number。是,就等于一。剩下的事儿就简单了,复制。
09:02
这变成什么?然后139。那其他的是不是就是等于四啊。是一样的,那这个帕森呢,你得给他返回房产证。那这个地方要注意啊,这个帕特森只能从零开始。你别上来,上来一个135。牛逼啊。那这个呢,就是只要这个前手机的前三位等于它,那就放到分区零里面去。是类推啊。那这边是你写完了,那如何让这个job跟他关联呢。们来到driver里面去。点part。把它拿过来。第二。那这个完事之后,他能不能。运行呢。
10:01
啊,它就能实现我们这个最终输出,呃,想要的五个文件呢。必须得设置他的number太啊。这点set number reduce个数,那我们是几个?五个吧,五个记住啊,设置成五个,那这地方就写五个。没工作完事了,我这是OUTL2。从一开始。啊,右键。运行走。一来了。几个文件。首先。五个文件对吧,好看一下第一个。分期零是不是136啊,分七零分期一呢。137没问题。小娟。138138就一个是吧。139。
11:00
这么多,那最后一个就是其他的吧。这么做,哎,这就搞定了。
我来说两句