2013-08-19 3 views
0

мне нужна помощь в отношении карты уменьшить chaining.i есть карта сократить цепочку, как этотввода/вывода потока на карте уменьшить цепочки

Map-> reduce-> Карта

я хочу выход редуктора для использования в последнем преобразователе

например, в моем редукторе я получаю максимальную зарплату работника, и это значение предполагается использовать в следующем картографе и найти запись с таким максимальным значением зарплаты. мой последний сопоставитель должен получить выход редуктора и содержимое файла? возможно ли это? ix проблема? любое лучшее решение?

ответ

0

Я не уверен, что понял проблему, но я постараюсь помочь.
Вы сократили ввод, содержащий зарплату работника (давайте назовем его input1) в вывод (давайте назовем его output1), который выглядит так:
Key: someEmployee Value: max salary.
, и теперь вы хотите, чтобы другой картограф отображал данные как с входа 1, так и с выхода1?
Если это так, то у вас есть несколько вариантов, и вы можете выбрать один в соответствии с вашими потребностями.

  • Манипулировать выходом первого редуктора. instad создания output1 в формате
    Key: someEmployee Value: [email protected]@salary_1,salary_2,salary_3...salary_n
    и создать новое задание, а также установить новый вводный файл в качестве output1.

  • Попробуйте прочитать this issue объяснить, как получить несколько входов в один картографа

+0

К сожалению IAM новой для Hadoop, так что борется с it.I найти максимальную зарплату в моем редукторе, и это максимальная зарплата, содержание файла должен быть входным для следующего картографа, так что я найду записи с максимальной зарплатой. – user1585111

+0

Итак, первое решение должно быть именно тем, что вам нужно. просто создайте другое задание mapreduce и введите выходной файл u, сгенерированный на первом шаге в качестве ввода. – Roy

+0

Помог ли мой ответ? тебе нужно что-то еще? если нет, отметьте как ответ. – Roy