При написании задания MapReduce (в частности, Hadoop, если это уместно) необходимо определить функции map()
и reduce()
, обе из которых дают последовательность пар ключ / значение. Типы данных ключа и значения могут быть определены приложением.
В каноническом примере подсчета слов обе функции выдают пары типа (string, int)
, где ключом является слово, а значением - количество вхождений. Здесь - как и во всех других примерах, которые я видел, - выводимые ключи и типы значений согласованы между двумя функциями.
Должен / должен ли тип пары ключ / значение, полученной с map()
и reduce()
быть одинаковым в любом приложении MapReduce? Если да: почему?