在Hadoop中将相同的密钥传递给Mapper时会发生什么

Abh*_*ain 3 hadoop mapreduce

在Hadoop Map Reduce框架中,数据作为键/值对传递给映射器的意义何在?我知道键/值对在传递给reducer时具有重要意义,因为它们可以满足来自映射器的数据分区.属于同一个键的值将作为从映射器到reducer阶段的列表.但是在映射器阶段之前如何使用键?属于同一个键的值会发生什么变化?如果我们没有定义自定义输入格式,我假设Hadoop将输入文件中的记录号作为键,将文本行作为mapper函数中的值.但是,如果我们决定实现自定义输入格式,则可以自定义选择键,并且可能存在对应于相同键的值.

如何在映射器阶段处理现象?映射器是否忽略重复记录并将它们视为单独的记录,还是仅为每个键选择一个记录?

Bit*_* GS 5

输入拆分是由单个映射处理的输入块.每个地图处理一次拆分.每个拆分都分为记录,地图依次处理每个记录 - 一个键值对.

因此映射器将具有相同密钥的记录视为单独的记录.