自定义分区程序与MultipleOutputFormat

时间:2016-06-06 16:18:54

标签: hadoop mapreduce

我是map new的新手,我想知道在Map reduce中使用自定义分区器和MultipleOutputs概念创建基于某些条件的多个输出之间的区别。

1 个答案:

答案 0 :(得分:2)

使用自定义分区,您将数据发送到不同的reducer,每个reducer将写入一个文件,其中包含由其处理的所有数据。

part-r-00001, part-r-00002 . . . 

使用MiltipleOutputs,每个reducer都可以使用自定义名称编写不同的文件(多个输出)。

Tag1-r-00001, Tag2-r-00001, Tag1-r-00002, Tag2-r-00002 . . .

客户分区用于在处理之前将相关数据分组在一起,多个输出用于在处理后分割输出中的数据。

使用MultipleOutputs,您将能够识别数据而无需跟踪减速器编号,并且将来如果您需要增加或减少减速器的数量(作为数据更改),您仍然可以通过前缀识别旧数据。