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