Обмен данными между несколькими вызовами map () и redu () - PullRequest
0 голосов
/ 09 января 2020

Мне нужен объект HashMap, который будет использоваться совместно с map () и lower ().

Объяснение: Я хочу, чтобы map () извлекала и обновляла некоторые данные в HashMap для своего текущего ключа. Я хочу, чтобы при уменьшении () можно было узнать, имеет ли текущий ключ максимальное значение по сравнению с предыдущими значениями ключа.

И в последней паре ключ-значение (я планирую использовать HashMap.size () и статический c целочисленный счетчик для этого), я напечатаю пару ключ-значение с максимальным значением.

Так что в основном мне нужен объект HashMap, совместно используемый map () и redu (), а затем целочисленная переменная, совместно используемая вызовами redu ().

Любая помощь?

1 Ответ

0 голосов
/ 10 января 2020

Это не совсем то, как mapreduce предназначен для использования ... Если вы создадите какой-либо Hashmap в маппере, будет один хэш-мэп на каждый маппер, и может быть тысячи задач карты, выполняющихся одновременно. Ни одна из задач редуктора не будет знать, с какой Hashmap проверять, и нет явного шага для их консолидации

Возможно, было бы лучше перенести эти данные в Redis, например

...