MapReduce использует Generics специально в Mapper и Reducer, чтобы указать, какой тип ввода и вывода ожидается для чтения и записи.
В примере вы указали свой WordCountMapper
extends Mapper
класс с указанными генериками Mapper
, где первые два класса LongWritable
и Text
представляют входной ключ и значение , который должен ожидать класс Mapper, а последние два класса Text
и LongWritable
представляет собой выходной ключ и значение , которые, как ожидается, испускают метод map
.
Это обсуждение thread дает больше информации о том, почему генерики был реализован в MapReduce. Кроме того, этот JIRA Issue дает больше информации.