hadoop - 为什么hadoop计数器中的map输出记录和reduce输入记录不同?

标签 hadoop mapreduce counter

我在 hadoop 中运行字数统计作业 我的问题是 为什么hadoop计数器中的map输出记录和reduce输入记录不同? 请看下图enter image description here

最佳答案

根据“合并输出记录”计数器,您的作业似乎使用了合并器。这解释了为什么“减少输入记录”不等于“映射记录”。

组合器相当高效,可将 1 亿条记录缩减至数百条。

您很可能会问为什么“组合输入记录”不等于“映射输出记录”以及为什么“组合输出记录”不等于“记录输入记录”。解释是组合器可以运行多次,这意味着您“实际上”多次计算相同的数据(在这里您可以观察到 541 个额外输入记录等于 677 - 136,但不能保证这两个数字始终匹配)

关于hadoop - 为什么hadoop计数器中的map输出记录和reduce输入记录不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37931644/

相关文章:

Hadoop : Why using FileSplit in the RecordReader Implementation

python - 在 python 中找不到 hbase 模块 - 如何导入?

hadoop - 如何使用Hadoop MapReduce配置对象传递自定义参数?

mapreduce - 在哪里可以找到 hbase-0.89.20100924+28 的 HBase 级联模块?

c - 带寄存器的 Stm32 定时器计数器

Java 同步计数器 - get() 怎么样?

JavaScript 没有正确计算重复项

scala - 我应该添加哪个依赖项以使用 intelliJ 使用 scala-spark 在 s3 中获取 txt 文件?

hadoop - 配置多个 OpenTSDB 以使用单个 HBase 后端

hadoop - 在 Amazon MapReduce 上调用已编译的二进制文件