【问题标题】:Writting data in multiple files using Multipleoutputs Mapreduce使用Multipleoutputs Mapreduce将数据写入多个文件
【发布时间】:2013-06-06 22:06:53
【问题描述】:

我已经编写了 MapReduce 代码,使用 Multipleoutputs 将数据写入多个文件,但问题是,它创建了多个文件但没有在其中写入数据,为什么?

IN REDUCE
 public MultipleOutputs multipleoutputs;

      public void configure(JobConf job)
            {
              multipleoutputs=new MultipleOutputs(job);                   
            }   
 public void reduce(....)
{
OutputCollector outcollect=multipleoutputs.getCollector("tfidf","1",reporter);                         
                outcollect.collect(new Text(s),new FloatWritable(tfidf));
}
IN DRIVER
 MultipleOutputs.addMultiNamedOutput(conf,"tfidf",TextOutputFormat.class, Text.class,FloatWritable.class);

【问题讨论】:

  • 你在cleanup() 中关闭multipleoutputs 吗?

标签: hadoop mapreduce hdfs output reduce


【解决方案1】:

这是因为您需要在MultipleOutputs 中指定两个文件,您要将特定的输出写入其中。

您需要在驱动程序中添加以下行:

MultipleOutputs.addMultiNamedOutput(conf,"SECOND_FILE_NAME",TextOutputFormat.class, Text.class,FloatWritable.class);

更多详情请访问LINK

【讨论】:

  • 您能否详细说明一下stmt:因为您需要在MultipleOutputs中指定两个文件。请详细说明“SECOND_FILE_NAME”是什么?
猜你喜欢
  • 2015-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-29
  • 1970-01-01
  • 1970-01-01
  • 2019-05-10
  • 1970-01-01
相关资源
最近更新 更多