Я ищу способ вычисления «глобальных» или «относительных» значений во время процесса MapReduce - среднее значение, сумма, верхняя часть и т. Д. Скажем, у меня есть список работников, их идентификаторы связаны с их зарплатой (и куча других вещей). На каком-то этапе обработки я хотел бы узнать, кто из рабочих, которые зарабатывают 10% зарплаты. Для этого мне нужно некоторое «глобальное» представление о значениях, которые я не могу понять.MapReduce - как рассчитать относительные значения (среднее значение, верхнее k и так далее)?
Если у меня есть все значения, отправленные в один редуктор, у него есть глобальное представление, но тогда я теряю параллелизм, и это кажется неудобным. Есть ли способ лучше?
(Рамки Я хотел бы использовать это Google, но я пытаюсь выяснить технику - нет рамки конкретных трюков, пожалуйста)
Спасибо, Нильс, но я до сих пор не понимаю.Из-за безгражданности карты и сокращения, я ни разу не знаю точный предел 10%. Даже если список отсортирован по значениям, 10% которых я ищу, каждый редуктор не имеет представления о месте своей части в полном списке - если только я не использую только один редуктор, который действительно будет иметь этот «глобальный», Посмотреть. –
Привет, я обновил свой ответ, поскольку я неправильно понял ваш вопрос «топ-10»! = «Топ-10%». Нильс –