温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,接下来呢,我们来看一下output format这个核心组件,那看一下output format在整个map当中,它处于一个什么样的位置呢?我们来到这张图的最后这个位置。看这。也就是说,我们这个reduce方法输出来之后,它并没有直接写出到文件当中,而是中间经过了一个out。在out put方法里面啊,这个类里面有一个核心方法叫record write,由它来往外去写。对吧,我是写成一行,写成一个文件,还是写到数据库,由他来决定。对吧,哎,好啊,那默认是用哪一种呢?默认用的是test out或者是ma,它是呢,按行去写,按行写,一行一行写。而且呢,写到了这每一行内容,写到一个T里面就是test。那我们来看一下这个奥特曼啊。嗯,Shift shift out不慢输入信号打勾,嗯,导包的话别导错了,导它对吧?嗯,然后CTRL加H就能找到它对应的实现类右侧这个内容。
01:10
那在在这个右侧,它实现类当中啊,有什么空的啊,有file的,还有这个数据库相关的,那这里面最核心的是哪一个呢?是这个file out put format。对吧,哎,它下面有三个子类,呃,Map file output file,还有test output,那这个呢,就是它默认的一个输出格式。那我们先来研究一下这个file output啊,点它,点它之后你发现这是一个什么,是一个抽象类。那抽象类就必然有抽象方法。它的抽象方法就是最核心的一个方法叫record,你就向外写怎么写。对吧,哎,你是像那个t file啊,一行一行写,最终写出到一个文件里面,还是说像那个,哎,我写出多个文件啊,这file对吧,二进制格式这种往出写。那就由他来决定。
02:02
那大家想一个哈,我现在呢,确实啊,这个系统给你提供了这么多output。那他一定能满足市场上所有的需求吗?对吧,哎,比如说啊,我给你一个,我让你去写出到买口。那能不能直接写?对吧,哎,连接到Oracle。那连接到后面我们要学的h base。还有ES也是,这也是后面我们要学的框架。那你会发现总有一些框架。是你没有想到的对吧,那怎么办?诶用户可以采用自定义的方式来实现。好,那我们先看一下这个笔记上的一些PPT啊。嗯,走一下这个过程。双击打开。好,看一下说output ma是map之60的一个输出积累啊,所有呢,实现M之60输出都实现了out output ma,比如说它是一个负类,对吧?嗯,那它下面有N多个这个嗯,子类,这个子类呢,刚才已经大家看过了哈,那这个这句话要记住哈,默认的输出格式呢,是test out或是它嗯二行去写,写出到一个test文件里面。
03:08
那下面呢,可以进行自定义,Out不同,满足你用户的一个需求,比如说刚才说的说你要输出到MYSQHPS,对吧?那这种怎么办?我们就可以采用自定义,那自定义的步骤,首先第一步呢,定义个类,继成的是file out put form,那file out form它是一个抽象类,对吧?那我们要重写的抽象方法,它的抽象方法是谁了?就是这个record瑞哎,向外写的方法。哎,这就行了啊,非常简单啊,那下面呢,我们就来做一个自定义out ma一个案例哈。
我来说两句