假设我有两个数据集:
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/