gpt4 book ai didi

Hadoop Mapreduce MultipleOutputs 输出控制台

转载 作者:可可西里 更新时间:2023-11-01 15:30:23 31 4
gpt4 key购买 nike

当我运行带有和不带有 multipleOutputs 的 mapreduce 时,控制台日志之间存在差异。

我有一个仅输出到文本文件的映射器作业。

没有配置 MultipleOutputs,

我的映射器中的代码片段:

context.write(null,new Text(value));

控制台输出摘录

Map-Reduce Framework
Map input records=2
Map output records=2

有了多重输出,

我的映射器中的代码片段:

multipleOutputs.write(null,new Text(value),FileOutputFormat.getOutputPath(context).toString() +  Path.SEPARATOR + "v");

控制台输出摘录

Map-Reduce Framework
Map input records=2
Map output records=0

避免空零件文件的驱动程序代码

LazyOutputFormat.setOutputFormatClass(job, TextOutputFormat.class);

记下输出记录的数量。虽然在第二种情况下它显示为 0,但我仍然在文件中看到正确的输出。生成的文件名为 v-m-00000。

我错过了什么吗?

最佳答案

Map 输出记录计算映射器发出的键值对的数量(使用 context.write())。这是将记录从映射器传递到缩减器的唯一方法,这就是该计数器存在的原因。

如果你想计算从任何其他方法写入的记录数,或者实际上,如果你想计算其他任何东西,你必须定义你自己的自定义计数器,我建议你这样做。

关于Hadoop Mapreduce MultipleOutputs 输出控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34502828/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com