mapreduce的类型与格式

1:默认的mapreduce作业

hadoop在不指定mapper和reducer就运行mapreduce,只设置输入路径和输出路径,可以使用默认设置运行mapreduce作业

默认的输入格式是TextInputFormat

默认的mapper是Mapper类

默认的partitioner是hashpartitioner

默认的reducer是Reducer

默认情况下,只有一个reducer

没有设置map任务的数量,原因是该数量等于输入文件被划分成的分块数,取决于输入文件的大小以及文件块的大小

reducer的个数 在本地作业运行器上运行时,只支持0个或1个reducer,reducer最优个数与集群中可用的reducer任务槽数相关。通常将reducer数比总槽数稍微少一些,使用更多reducer

2:默认的Streaming作业

必须提供一个mapper,默认的mapper的输入格式是TextInputFormat产生的是LongWritable类型的键和Text类型的值,而Streaming的输出键和值都是Text类型

3:输入格式

输入分片与记录:一个输入分片就是一个有单个map操作来处理的输入块,每一个map操作只处理一个输入分片。

每个分片被划分为若干个记录,每条记录就是一个键/值对,map一个接一个地处理记录。在数据库的场景中,一个输入分片对应于一个表上的若个行,而一条记录对应到一行。

主要包括文本输入,二进制输入,多个输入,数据库输入

4:输出格式与输入格式类似 

猜你喜欢

转载自kayak2015.iteye.com/blog/2247439