我正在使用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)));

有任何想法吗?

最佳答案

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

07-27 22:10