我正在使用multipleoutputs在reducer中编写几个文件。但是,当我查看目标文件夹时,我看到文件已成功写入,但校验和文件为空(尽管已创建)。有没有什么方法可以使多次输出也写校验和?
我正在“run”方法中添加命名输出
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)));
有什么想法吗?
1条答案
按热度按时间yvgpqqbh1#
似乎multipleoutputs对象需要在写入完成后显式关闭。下面的调用解决了这个问题:output.close()