是否可以将map-reduce的输出定向到多个Map文件?

时间:2012-05-22 12:15:23

标签: hadoop mapreduce nutch

以下是用例:

我有一个nutch crawldb(它是一个hadoop映射文件),其中包含有关url的数据,其中包括其访问和未访问的状态。我想根据网址的状态将其拆分为2个crawldb(地图文件)。

直到现在我尝试使用MultipleOutputFormat,但我读到它适用于序列文件或文本文件而非地图文件。

(仅供参考:我正在使用hadoop v20.2)

1 个答案:

答案 0 :(得分:1)

而不是MultipleOutputs,你必须编写一个自定义缩减器来为每种类型调用MultipleOutputs.getCollector()方法,这里有javadocs中的示例用法。

在您的工作配置中:

 MultipleOutputs.addMultiNamedOutput(conf, "map",
   org.apache.hadoop.mapred.MapFileOutputFormat.class,
   LongWritable.class, Text.class);