00:00
好,接下来我们看一下MAP6的一个进程,也说你未来在运行一个MAP6程序的时候,它会启动哪些进程来进行一个运行,那这里面有三个概念啊,第一个概念呢,叫Mr master。那这个跟谁呢?我们在之前讲雅安的时候里面是不是提到了一个application master?A。呃,Master对吧?啊,Appp master,那它俩什么关系呢?哎,是子符类的一个关系,这是一个应用程序的master对吧?那这是m Mr applicationp,呃,这个application master啊,也就是说它是一个紫禁城。好,那也是运行一个任务的老大啊,咱们所说的任务啊,后面呢,我们也会有几种叫法啊,叫任务也会叫job吧,还有一种叫法呢,叫一个MR,这些说的呢,都是一个应用程序,比如说我们跑的一个word count程序。嗯,WC,那我们会把它说,哎,这是一个任务,或者说这是一个job,也可以说这是一个mmr说的都是一个事儿啊行,那后面呢,这里面说有map test和radio text,那你后面再查看对应的这两个进程的时候啊,你查不到对应的这个map test radio text,你查到的是什么呢?是雅n child。
01:13
哎,叫雅安child啊,是雅安的一个紫禁城啊,类似这样一个含义哈,这三个呢啊属于了解一下,后面我们再写代码的时候呢,会有一定印象就可以,那接下来呢,我们来看一下这个官方word count的源码,比如说我们要写what count之前,我们先看看这个官方他怎么写的。那官方的源码它在哪呢?那给大家找一下啊,嗯,是在CD BD model hideop。开下面有一个赛尔,还记得吧,塞尔下面有一个hi do,黑宝剑MAP6 map6里面有一个,诶到了是吧,在map程序里面有一个hi do map6,一个example s,然后它啊,这里面存储了我们相关的一些案例,我把它下载到本地哈。
02:01
嗯,下载hi豆op一个example。中。桌面确定。OK。那这里面就有一个价包,那么如何来看这里面的代码程序呢?再给大家的资料包里面。找到反编译工具找他,嗯,就这俩是一对哈,这一起压出来之后就是他俩。嗯,点。把它拖拽过来。OK,展开展开之后啊,你会发现这里面有很多案例啊,啊,这是跳舞的啊,球拍的啊,还有一些其他的,那我们主要看谁呢?看这个。Word啊,把它打开,看看官方是如何来写的这个代码,那这个代码这么看。复制出来吧A。是吧,那我们这个语言呢,是Java语言。好,那这个上面呢,这些导包啊,就不用看了啊,直接看这里面,看这里面这是一个word count程序,首先看一下这是一个main方法对吧,在没方法在下面这是一个静态内部类。
03:13
哎,In some reducer啊,再往下呢,还有一个叫token啊,Map啊map,那就说有map,有reducer,还有一个全局的一个word count class类其道这是这个官方写法,那我们后面给大家讲呢,我们会把这个啊拆开,拆开成三个类,哎,哪三个类呢?上面这个程main方法里面的程序我们叫driver。叫driver,专门写这种驱动程序,哎,主方法也是程序的一个入口,那后面呢,我们会把这个静态内部类啊拿出来单独写一个类,那就是一个reducer类,一个呢是micro类。哎,三个类,这是固定的一个写法哈,那么来详细看一下,先看一下这个map。因为程序从map开走对吧,那map过来之后,哎,我们通常情况下呢,会定义一个类,然后呢,继承map。
04:05
为啥要继承map,那你要不继承map,你随便写一个类,你告诉他就告诉告诉这个代码说我是map,那能行吗?对不对?哎,我们得定一个类,继承这个map,然后呢,就会重写里面。对应的map方法就可以了哈,那你看说继承一个map,那后面这是啥呀。一对建括号。是不是泛型啊,按规定这个泛型,那泛型有四个参数,哎,那这里面呢,是一对KV1对KV啥意思。第一个发型,哎,这对KV组合代表着你这个麦整体的一个输入数据的KV。那我map计算完毕之后,是不是还得往出输出啊,那输出的时候,那这对KV的泛型是他。啊,规定了你的输入类型和输出类型,这发型那发型,大家好像说这个海哥这个test和readable这是啥类型啊。
05:01
哎,嗨,多呢,自己有一套自己的类型。哎,这个text呢,其实大家能猜到吗?是string啊string,那int red呢,就是我们的int类型,哎,只是变换一下类型啊好,这是map,然后呢,你这里面会要求重写一下这个map方法。哎,重写他系统卖方法,然后呢,这里面实现你自己的业务逻辑,那后面呢,我会大家去写啊啊先别着急,这里面我会写那卖方法,那之后下面我来看一下这个reducer。那reducer呢,也是定一个类,然后呢继承reducer。然后这里面定义的泛型,那不难理解了吧,Reduce这个泛型前一面一个是reduce对应的输入的KV类型,那后两个呢,是对应的它输出的KV类型。定义好你的输入和输出,中间的业务逻辑在哪里写呢?在这里写。重写它reduce方法,这里面是你聚合的一个业务逻辑。就OK了,那再往上看一下这个驱动代码,也就是说没方法里面驱动代码里面也是有固定的套路哈,固定套路这里面呢,正常情况下呢,有七步。
06:07
七步的一个配置都是成熟的套路。啊,像这种八股文似的哈,按照要求去配就可以行,那简单看完这个源码之后,后面我们会写啊,那这里面引出来了对应的这个类型对吧?啊类型那我们来看一下啊。嗯,Hi do当中有自己的这个虚事化类型,比如说Java的类型,大家都很熟,据说大家精通Java是吧?啊,有什么玻璃啊,这个字节in flow啊,还有呢,Long double street map AR now,那对应的head head分呢,它也有自己的类型。除了这个之外,比如说将string变成test,其他的都是在它后面类型加上对应的right right,简单吧,要求大家三秒钟机会。那就是把这个string对吧,哎,换成test,其他的就是在你Java的基本类型后面加上对应的就搞定了。
07:02
那这是啊,先了解一些啊,基本的一些介绍啊。
我来说两句