00:00
好,那我们应该写一个什么呢?Driver了,对吧?啊,写这个driver driver之前我们跟大家说了,有一种方法叫实现一个。托接口吧,啊,实现一个托接口到叫飞车线。那最终我们应该还有一个什么?慢方法对吧?啊,慢方法里边还要做一些事情,好,那我们就一个一个来写一下,首先我们应该写的是get set这个comp这两方法,对吧,首先应该定义一个。对吧。Confirmation。Comp等于一个no,做一个初始化,这个初始化。好,我看下了没问题,然后接下来这个赛怎么写?Con等于。传进来的对吧,啊传进来了,然后get呢,返回我们当前的就行了吧,啊返回我们的就行了,好,那这个方法这。
01:09
还记得第一个。获取效果对象对吧,啊效果对象。好,那第二步。设置类路径对吧。那路径,然后第三步。这个叫驱动,驱动的路径第三步是设置map。And map的输出,Map输出的KV类型吧,啊这个类型,那第四步应该设置video类吧。对吧,这个类啊第五步。设置最终的。
02:02
输出数据的KV类型吧,啊KV类型第二个呢。设置输入输出参数对吧,那我们写一下设置输入输出参数啊,就路径嘛,啊路径最后第七步应该是什么?提交任务对吧?提交任务是这样的一个过程,那我们按照顺序来写,按照顺序来写OK那这块。获取交互对象。效果。点get con给它存来对吧?好得到controltrl加V,得到一个job,设置驱动类路径,这个东西就简单job.set by class,我们用的是fruit。Driver点对吧,啊,这个东西就写好了,那接下来map是不是普通的一个map对吧?啊,普通一个map,那我们正常的跟之前一样set。Map class对吧?这个内容是map.class好,KV输出的KV,那就叫点。
03:11
然后是还记得我们当时是用的什么吗吧。点map value,我们用的是text text点。这个东西搞定了,那接下来按道理来说设置应该是这样的,对吧,需要点set reduce class是不是应该是这样的。是吧,Video点啊点class好,那接下来问题来了。这个video是要跟我们所说的。挨着辈子打交道的一个算对不对?那你这样设置reducer,按照道理来说,默认的output class应该是谁?
04:10
就是现在你因为你是一个还不是正常的mmr嘛,你们之前所学的是谁呀。Text的对吧,是不是,那这款能写进去吗。那是不是应该还要设置一个什么。自定义的自己去往里边写很麻烦吧,其实这块呢,就不是这样设置的啊,因为它这个类啊,是不是一个table video呀啊table videor呢,它有一个特殊的设置方式。啊,叫这个叫table。哎,就这。有一个什么。工具类对吧,叫cable mapler,那你看到这个东西说明它还有一个什么。它除了tabler,应该还有一个叫table map,对吧?啊table map,而且table map这个东西呢,就是用来读h base数据的,能理解这个事儿啊,Table radio负责写的,而他是负责读的,而且呢,它还有两个类,你看到没。
05:14
两个一样的吧。一个是的,一个是六用哪个。用心的吧,啊买六下的点。这里面就有初始化table video教本和初始化。Table map叫吧,啊,现在我们是不是只要它就够了,对吧,假如说你要从读出去的话,第一你那个map就不是普通的一个ma了。因为如果是一个普通的map,它是不是用的text法text input方法来读啊,对吧?啊,那我们得来说实话,我们看它啊,你看一下这个里边B。参数比较多吧,看第一个。首先要一个什么?
06:00
Table three类型的,那你觉得这个table是什么?输出的表明string类型的对吧,表明啊,它不是table对象啊,不是表对象是表明第二个。Reduce这个类吧,啊reduce这个类,然后给job给他扔进去看见没。我们之前不是job.set吗?它跟job当前那个job是不是还有关系啊,你把job给他干什么扔进去,他自己去设置啊,他自己设置OK,那我们写一下第一个table table呢,我也不想写死,我给他写成什么。X1我给它定义成一,因为我们等会还有一个输入路径要行了,我还这样,这样输服一点,因为到时候在慢方法里面传的时候,第一个是输入的,第二个输出的,是不是这样好一点,如果这写零当然也不会错,到最后呢,你应该把表明写在前面,而输入路径写在后面。能理解这个事吗?对吧,我写的二一,因为后面呢,还有一个输入路径对吧?好第二个reducer,那这个地方呢,应该我们写的是reducer.class对吧?第三个参数是不是要叫我呀,啊要叫我这个东西就够了,感觉咱们教室这个应该没有问题。
07:19
好,呃,刚才呢,我们是把这个。维U这个东西给他说说好了,那这样回头好看一点,这样把它变成这三个参数。对吧,啊,这样的能好看一点,好然后设置最终的输出类型,这个也可以不要了啊,因为已经有服的这个东西啊,跟奥就搞定了啊这个点呢,就可以不用写了,好那这个点不用写了,我把它改成什么。我之前叫输入输出的一个参数,主要是为了写输入输出路径嘛,但是现在输出的路径是不是已经相当于写了,因为他不是说往那个HD路径里边写了,是往h base的一张表里边写了,当然记得这要填张表明对吧?好,那我就改成输入参数吧,输入参数还记得怎么写呢?
08:07
方的点怕吧,叫我第二个要一个。Pass,而且其实后面是一个pass什么。Pass的一个数组吧,可不应该可以传多个什么路径,对吧?啊,可以传多个路径,但是呢,我们就一个就行了,那我们直接溜一个。这个地方我写二。零对吧,啊,我写二零。好,这样就好一点。不是吧?好,那我们呢,就把这个。零号位置,也就是说给慢方法传的第一个参数作为它的一个入参啊,作为它一个入参,然后呢,第二个参数是我们要填的一个表,而且大家还要注意一下,这个表必须要存在吧。
09:00
对吧,上午其实我们已经测过了啊,已经测过了,OK,那我们来看一下最后一个应该是第六步了吧。第六步,提交任务。提交任务。这个东西呢,就叫。点wait for completion对吧?啊,给他一个处,给他个处。陈浩,加宾得到一个iur。造了,然后他最终这个wrong方法返回要一个硬类型还是同样的写一个三对吧了,然后呢。问号零冒号一啊,零冒号一可能加,还要格式化一下,好之后呢,我们把这个慢方法可写一下,还记得怎么怎么运行呢。首先创建一个con,对吧,你有一个con。Con加V得到这个com,然后接下来应该用一个to wrong这个东西,点wrong con给他扔进去,第二个他要一个。
10:01
Tool对象,那当前我们这个driver就是一个tool对吧?啊,又有一个fruit driver啊fruit driver,最后呢,它有一个XX好,这个里边呢,它有异常啊异常那我们干什么就抓一下,最后到了慢方法里边了,对吧?那既然这样的话,我把它也干什么,给它扔进去啊,给它连进去,OK,这个异常抓一下啊,最后呢,Controltrl out,看L加V得到一个步骤。那还是跟之前大家写的一样。是不是你们总喜欢写一个年?退出,然后这个退出码呀,对吧,其实你不写这个内容,如果说他是异异常退出错误退出的,他退出码一定是什么非零之前上午我们是做过很多测试,最后退出的。客户的零对吧,零是正常的一个推出码,只要非零都是什么异常的,有问题的,其实你不写他也一样的,那这个地方如果错误退出的没有提交成功,那应该返回什么。一对吧,啊,返回之一是这意思啊。
11:00
啊,那这个是我们把driver搞定了,Driver搞定之后,那我们应该打包扔到集群上去运行吧,啊,去运行一下啊。DEMO let在这呢,我们拍给点。啊,打个包扔到集群上去运行一下。现在打个包也这么慢了吗?我还以为这些工具都开始轮流罢工。那就完了是吗?对,他可以换一个换一套设备,但是我这设备换不了。打包好了,打包好了呢,我们给他扔到群啊,也就这个包给他扔到扔上来,我这个没开是吧。
12:06
我得看一下群。点哦,这边呢,让他起着,然后呢,我们这边扔一下,呃,我就直接扔到H的一个加目录了,可以吧,其实你扔到哪无所谓。放在这啊,那这个架包就扔过来了,然后等待它起一下。好,然后ZK点是了。啊卢K起的比较快,可能如K起完了之后呢,我们哈多还没有退出安全模式啊,还没有退出安全模式。还有吧,还有22秒。二。等他走中间的时候,注意点那个线啊。
13:03
然后CD model,哎,是base,呃,我们把命令准备好,Start啊,Start好,正好在这个点呢,说一个事情就是注意一下这个点最好。这在哈多inv里边配了啊,ETC profile里边是配这个home目录对吧?啊配home这个要注意一下,看一下这个上面的这个直接全部标红吧,到时候题目一点对吧,红色一定要就是你们在列配置的文件的时候,尽量的读一读上面的中文,上面的中文。刷新一下,好,这个安全模式推出了,推出之后呢,我们把这个启动一下。写动起来,然后呢,这个东西呢,也要初始化,你不要着急去干什么事啊,整个的先把那个东西你看他还在初始化了,还没有联系上了啊刷新一下。
14:04
哎,这就好了,这就好了。然后这个user table还没加载进来吧,啊,没有进来刷新,现在就好了吧,到这一步之后,基本上它初始化过程才全部完成了啊,就完成了,因为它挂掉之后,内存当中东西是不是没了呀,它起来之后是不是从CK当中把它之前所有的信息全部给它加载起来,对吧?就跟那个我们所说的内no的启动的过程当中,他要把那个什么FS image和I那个文件加在里来做合并是一样的道理啊,它也要做很多一个初始化的一个事情啊,OK,那这个时候呢,我们就可以去执行这个内容了,执行这个内容之前,你要注意我们应该先去创建一个什么。表吧,啊,上午我们看过了,如果说你这个表不存在,是我给你报错了对吧,说表不存在,那这样我们创建一个负的一可以吧。对了。It for,然后呢,这个列足我们当时还是用的ino吧,代码里边还记得吧,在哪video用的info,所以呢,这个东西你就拉动了啊in for列说OK,保存住。
15:09
这个输入的一就搞定了,搞定之后呢,我们再过来克隆一个CD OBD module来这词,然后运行当前这个价包。怎么来?下对吧,然后h base DEMO这个加包后面跟着是不是主类的全类名啊,是那个专对吧。主类就是这个带慢方法的这个对吧,啊慢方法的OK,全面屏放在这。那接下来应该是两个参数。第一个参数X0,我们写的是什么?注意这块注意按次零,我当时说了,我为了是让第一个参数写的是输入参数吧,第二个写的是表明两个是反的对吧?啊,所以呢,我先写的一,再写的二啊,不是再写的零啊,这东西好写的二是吗?写的二还得输三个参数,第一个应该是fruit are you。
16:07
F的点TSV,这个还是我们上传到HBS那个文件对吧,然后第二个写一个表明是一这张表达走一下啊走一下。文件数为一啊。等待它运行完成。运行完成之后呢,我们来这边去扫描一下什么。这个浮的一这张表吧,啊一这张表。好走,扫描一下。是不是数据能插入进来对吧,那这样也就实现了我们通过ma这个程序将数据写到的一个功能了,啊写到这位,那你可以写任何一个东西啊,都可以这个意思啊,这是我们所说的第一个案例啊,第一个案例主要的看一下是MR某base写数据啊,那更重要的还有读数据对不对啊,那我们把这个解一下。
我来说两句