00:00
好,接下来呢,我们再来一个编程规范。最后一个理论啊,完事之后我们上正菜。那这里面呢,这个麦克六编写啊,跟古代的这个八股文啊。是非常类似的。斑纹什么特点?固定格式固定规范对吧?啊,这也一样,要求你必须有map,有有。就这么三个类写完了就完事啊。那下面来看一看这个阶段做什么事情,Radio阶段做什么事情。Driver里面做什么事情?首先,Mark阶段。Map阶段的用户自定义的map要继承自己的类。比如说呢,你这个map类呢,是要继承。没问题吧,就说你要拿到这个麦里面详细的这个方法啊实现。啊,你可以重写它里面的一些方法啊,根据用户的需求。
01:00
那你要不继承人家的话。你就相当于一个普通的类,没有。啊,第二个呢,是。Ma的输入数据是KD的。我们来看那个官方源码的时候,看到了四个参数啊。参数,其中前两个是数据输入。KV啊。后两个是输出数据的KB。Map阶段数据呢,是K的形式。而且这个类型呢,我们也可以自己定义。不然不说哈。Map中的业务逻辑呢?是写在一个map方法中?的啊,你这个继承这个外面这个负类的时候,它就会让你重写这个外模码。啊,在这里面去写一些业务逻辑。用户的需求去做啊。Map的输出数据呢,是KV对的形式。刚才我说的那个。输入是KV,其实输出也是KV,四个参数嘛,啊,前两个是输入的,后两个是输出的。
02:06
这家呢是麦方法对每一个KV。调用。办方法,对每一个KV调用一次,也就是说你对每一个输入的这个数据啊。一行嘛,其实就是一行,每次他只读取一行。你这个原数据这么多。每次读取一行之后。他对这一行数据就掉一次。后面我们提爸爸的时候,你会很清楚。OK,这是麦阶段,那再往下呢,是这个reduce。Reduce的用户自定义的这个reduce要继承自己的父类,就说他要继承reducer。也是拿到了相应的这个方法啊,按照人家这个要求去做。北车的输入数据类型对麦的输出数据类型也是KV。
03:06
式的输入类型。对应着的是yper的。出的数据类型。这不难理解吧,因为这个reduce是基于前一级的所有Mac的。所以说Mac的输出就是reduce的。而且呢,也是配V的形式。这往下调式的业务逻辑写在对应的式方法里面啊,一样,你继承了这个类啊。那么这里面就会让你去重写这个方法。大进程对每一组相同的K的KV组调用一次方法。也就是说对应着同相同的单词。其实每一组相同的。比如说这一组单词。啊,比如说SPA这种相同呢。只会进入一次比对方法,为什么呢?方便你对这一个单词进行一个汇总。
04:03
再往下呢,是这个这阶段。这个阶段比较简单哈。相当于雅安集群的客户端,用于提交整个程序,到雅安提交的是封装了MA6程序相关运行参数的兆,其实就是你这个照啊,在提交过程中的一些参数的设置啊,输入输出路径啊。还有这个输入输出。B和旧式的类型。啊,等等这一块呢,这个编程规范这块啊,你先了解一下,现在呢,你可能这个。呃,体会不到啊,这其中的含义,等我们写完一个沃之后啊。那你对他的理解就会非常透彻了啊。
我来说两句