您的位置:首页 > 运维架构

MapReduce接口类

2018-03-09 20:43 113 查看

MapReduce接口类

MapReduce输入的处理类FileInputFormat
所有以文件作为数据源的InputFormat实现的基类,FileInputFormat保存作为job输入的所有文件,并实现了对输入文件计算splits的方法。
InputFormat负责处理MapReduce的输入部分,主要有三个作用:验证作业的输入是否规范,把输入文件切分成InputSplit,提供RecordReader的实现类,把InputSplit读到Mapper中进行处理。

InputSplit
在执行MapReduce之前,原始数据被分割成若干split,每个split作为一个map任务的输入,在map执行过程中split会被分解成一个个记录(key-value对),map会依次处理每一个记录。
(1)TextInputFormat
​ 默认的处理类,处理普通文本。文件中每一行作为一个记录,它将每一行在文件中的起始偏移量作为key,每一行的内容作为value。默认以\n或回车作为一行记录。
(2)CombineFileFormat
(3)KeyValueTextInputFormat
​ 当驶入数据的每一行是两列,并用tab分离的时候,非常适合用这种格式处理。
(4)NLineInputFormat

MapReduce输出的处理类主要用于描述输出数据的格式,它能够将用户提供的key/value对写入特定格式的文件中。TextOutputFormat
默认的输出格式,key和value中间值用tab隔开的。

SequenceFileOutputFormat

SequenceFileAsOutputFormat

MapFileOutputFormat
将key和value写入MapFile中。

MultipleOutputFormat
一个reduce产生一个输出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Hadoop MapReduce