00:00
好,下面呢,我们去代码实现一下这个加载一个缓存,然后呢,对两个表一个。拿到了一个驱动。上见。报名。这个呢是两个。那在这里面呢,把这个驱动代码拿过来。这种我就不写了啊,我现在发现还有好多同学在写。是不是你找到了这个爽的感觉啊?就唯一能能能会写的,可能就是启动了是吧,别这样啊别这样,因为我看还一行一行敲的,你都敲了多少遍了都。啊,不要了哈,差不多了,行了。不要这个适可而止啊。
01:01
到到这种功力了,你还还在敲。浪费时间了。逮着会的了,肯定成,不会的,你看他反而他不成。行,那我们看一看啊,慢点别着急一点点对啊配置文件。照信息。啊,添加这个加班。然后呢,这个呢是这个驱动类,就是关联这个map先不管啊,一会儿再说,包括它的输出类型我也不管。输出路径,输出路径这个是要有的。然后下面呢,这个就是具体的加载这个缓存的数据,那就是at at fair,那这这个呢,你要给一个路径,那这地方容易错在哪呢?有个地方啊,看就是导包,导包这容出错。上面这个不对,是哪一个呢?Ne啊,一定是ne注意了啊,不光你们,我都容易打错。自己搞定,那下面这地方叫set reduce task为零。
02:00
那也就是说reduce task阶段取消。只有卖不的。那好,那下面呢,是缓存一个文件,也就的阶段取消,那下面回过头来来看这个。那这块呢,你先看一下,哎,这个输出。你看我在那写没写的P。有时写的是最终啊,哎,最终的输出哈,那你想想现在没有麦克没有阶段了,那是不是这就是最终。那这种输出什么类型的?哎,Test和right为什么这样呢?你看一下这张表啊。你最终输出完是不是按行一行一行的写出就行了。啊,一行一行输入,我会把它拼接,拼接成字符串,也就是说每一行是一个T。那Y6那就空就行了,OK吧,好。到这。那下面呢,我们就开始具体的去写一下这个啊的。
03:16
那这个呢,是long。泰斯特,然后接下来是。Test对吧,然后是。那来说。这边把异常抛出去。就是整个这个就OK了,OK正好不用来啊,写在这儿这儿的话。我们要先写什么?是不是他的setup木马?在set up方法里面干什么事情呢?管子。小表对吧,啊,换成小最主要做这件事情。又一个八分的。
04:06
然后呢,这里面需要一个reader,那你就再一个input。Stream。那第一个参数呢,就是再来一个new,一个file input里面需要一个,那这个file呢,哎,正常情况下我添一个PD点。就正常能读到这个缓存文件,因为这个缓存的文件在哪呢?哎,在这一块的时候,你已经加入到了这个整个集群上。就是他。但是呢,个别同学的电脑呢,它获取不到啊,获取不到,那获取不到它怎么办呢?哎,我们可以通过这个上下文来获取方点get。看。也是获取这个缓存文件,返回一个uri的一个数字。这是缓存文件的路径。好,拿到它之后,这里面我们只缓存了一个文件,所以说取出第一个值,然后呢点get pass。
05:10
然后将它转换成实际类型。做实际。就得到了这个缓存文件的路径。那这个反射文件路径呢,可以把它放在。这个位置这样呢,就保证一定能获取到这个文件。后面呢,这个是相应的这个编码方式UTF杠八。好,那这个呢,是拿到这个leader。考虑OK。拿到这个reader之后,下面就要读这个一行一行的数据,那就是外网。用它去读。锐的点瑞的Y相当于读取一行,那读取一行成倍成功呢?
06:04
还有一个。U,这个包别搞错了啊,是上面这个common包下面。它有一个什么呢?点is not。是否为空?那你说这一行是否为空?那这一行呢?用谁来接收这一行呢?你再定一个变量Y。啊,用它去接受这一行。读到一行数据复制给他啊。对啊,那这个呢,是判断这一行数据是否有值,如果有值的话,是不是就可以在下面进行操作了。主要干什么呢?呃,这个对。那我给你拿过来一行数据啊,这是缓存表的数据。
07:06
也就是说啊,PID和P,那切割呗,切割就简单了,Y点。福利特。好,那这个拿到呢。那我要把这个里面的PID和P封装到一个。集合里面去。比如说你有一个哈西那。在这几个里面呢,都是十字类型。那你说我这个及格里面谁为。Value。
08:02
那这里面就是pd map点不。谁发年轻的?S。零。是公共的零啊。那files。把这个。以这种方式存进去。能不能理解?我为了干啥呀?因为这张表跟凹表里面是不是有一个公共的PID啊。啊,它俩的值是一样的,那我从order表里面是不是很容易能取出它的PID啊?那我把它al表里的PID取出来,我通过你这个集合,我能不能get出来。对吧,我盖的你这个PID是不是就得到了你这P内膜。听懂吧,哎,这种方式哈,就取出这个值了。那下面呢,别忘了这个关闭资源。还要。
09:04
第二。那我这个是reader啊,将这个reader给它关闭掉就OK了。首一。销入径,比如说你要缓存的文件,它在哪?那在哪呢?哎,在我们通过这种方式去。过的路径放大点cat fight。Get cat斯斯里面呢,因为我们只缓存了一个文件,所以说呢,就取出它的第一个。啊,第一个第一个呢,你要想合理路径呢,就get pass。啊,这里面为什么转换成string呢?只不过这地方你需要一个,所以说把它变成。啊,那就传到这儿,拿到了这个文件的输入流。拿到这个流之后,那你就要一行一行的去读数据,那这个有一个reader read来。
10:05
啊,读到一行数据呢,给他,那么这一行数据如果等于空,那我就结束了,相当于这个没有数据了啊,如果说有数据,那我就对他进行相应的一个切割操作啊,最后最后关闭字眼。那缓存这张表处理完之后,下面我们开始处理它的。恶心。
我来说两句