hadoop - 默认 Mapper-Reducer 类

标签 hadoop default reduce mapper

假设我有两个数据集:

hello world
bye world

hello earth
new earth

并且我想运行一个没有指定映射器类或化简器类的 map-reduce 任务,因此将调用默认的映射器和化简器——它们都是恒等函数。当我运行该作业时,输出为::

0       hello world
0       hello earth
12      new earth
12      bye world

我很困惑为什么 key 像 0 和 12?!当我在 main()::

中注释掉这些行时,我只是使用了默认的映射器和缩减器
//    job.setMapperClass(Map.class);
//    job.setCombinerClass(Reduce.class);
//    job.setReducerClass(Reduce.class);

所以,我的问题是这里的输出键是什么?为什么它看起来像 0, 0 , 12, 12 ?

最佳答案

0,0,12 和 12 是输入数据中的文件偏移量。在文本输入的情况下,映射器的 K 是文件偏移量,值是输入行。检查this获取更多信息。

关于hadoop - 默认 Mapper-Reducer 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19604431/

相关文章:

hadoop - 如何设计Hadoop作业以将字段从一个文件匹配到另一个文件

ios7 - Xcode 5 & IOS 7 本地化后备语言

java - Java 8 中 parallelStream 的变异减少

javascript - 对象索引逐渐增长的数组数组

java - TotalOrderPartitioner 和分区文件

java - HBase 分区域负载均衡

java - 带有提示和默认值的 Edittext 可能吗?

javascript - reduce 将数组合并为单个值

hadoop - Hadoop单节点安装2.5.1后无法看到Task Tracker和Jobtracker

java - Spring Security 3.1 中的默认角色