Повторно использовать выходные данные двух заданий MapReduce и объединить результаты - PullRequest
0 голосов
/ 23 октября 2018

Я хотел бы объединить вывод двух разных заданий MapReduce.Я хочу быть в состоянии сделать что-то, как у меня ниже, но я не могу понять, как использовать результаты предыдущих работ и присоединиться к ним.Как я мог это сделать?

Job1: 
Andrea Vanzo, c288f70f-f417-4a96-8528-25c61372cae7, 125 

Job2:
c288f70f-f417-4a96-8528-25c61372cae7, 071e1103-1b06-4671-8324-a9beb3e90d18, 25

Result:
Andrea Vanzo, c288f70f-f417-4a96-8528-25c61372cae7,  25

1 Ответ

0 голосов
/ 24 октября 2018

вы можете использовать JobControl для настройки вашего рабочего процесса в mappereduce, кстати, чтение выходных данных job1 & job2 (используйте MultipleInputs) также может решить вашу проблему.

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

mapper

job1data == job1.path => разделить данные ключа записи [1], данные значения [0] + "tagjob1"

job2data == job2.path => разделить данные ключа записи [0], данные значения [0] + «tagjob2»

редуктор
каждый ключ имеет свои наборы значений.

положитьзначения в две группы списков по вашему «тегу»

записать ключ и каждый декартово произведение двух списков.

надежд

...