在Hadoop Map Reduce框架中,作为键/值对传递给映射器的数据有什么意义。我知道,当键/值对被传递给reducer时,它们具有重要意义,因为它们满足了来自映射器的数据的分区。属于同一个键的值作为一个列表从映射器转到reducer阶段。但是,在映射器阶段之前,密钥是如何使用的呢?属于同一个键的值会发生什么情况?如果我们不定义自定义的输入格式,我认为Hadoop会将输入文件中的记录编号作为键,将文本行作为mapper函数中的值。但如果我们决定实现自定义输入格式,则可以自定义键的选择,并且可能存在与同一个键对应的值。
在映射器阶段如何处理这种现象?映射程序是忽略重复的记录并将它们视为单独的记录,还是每个键只选择一个记录?
输入分割是由单一地图。每个地图处理一个单独的分割。每个拆分都被划分为记录,并且映射依次处理每个记录(一个键值对)。
所以mapper将具有相同关键字的记录视为单独的记录。