【问题标题】:Hadoop MultipleOutputs checksumHadoop 多输出校验和
【发布时间】:2014-10-28 08:04:11
【问题描述】:

我正在使用 MultipleOutputs 在 Reducer 中写入多个文件。但是,当我查看目标文件夹时,我看到文件已成功写入,但校验和文件为空(尽管已创建)。有没有办法让 MultipleOutputs 也写校验和?

我在“运行”方法中添加命名输出

 MultipleOutputs.addNamedOutput(job, "fld1",
    TextOutputFormat.class,
    Text.class, Text.class);
    ...

并写入 Reducer 中的 MultipleOutputs 对象:

output = new MultipleOutputs(context);
...
output.write("fld1", key, new Text(Arrays.toString(myData)));   

有什么想法吗?

【问题讨论】:

    标签: java hadoop mapreduce hadoop-streaming


    【解决方案1】:

    看来 MultipleOutputs 对象需要在写入完成后显式关闭。下面的调用解决了这个问题: output.close()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      相关资源
      最近更新 更多