У меня есть два файла в моем кластере File A
и File B
со следующими данными:
Файл А
#Format:
#Food Item | Is_A_Fruit (BOOL)
Orange | Yes
Pineapple | Yes
Cucumber | No
Carrot | No
Mango | Yes
Файл B
#Format:
#Food Item | Vendor Name
Orange | Vendor A
Pineapple | Vendor B
Cucumber | Vendor B
Carrot | Vendor B
Mango | Vendor A
Обычно я хочу узнать Сколько фруктов продает каждый продавец?
Ожидаемый результат:
Vendor A | 2
Vendor B | 1
Мне нужно сделать это с помощью сокращения карты python для потоковой передачи hadoop.
Я прочитал, как выполнить базовый подсчет слов, я прочитал из sys.stdin
и испускаю k,v
пар для редуктора, чтобы затем уменьшить.
Как мне подойти к этой проблеме?
Меня больше всего беспокоит то, как читать из нескольких файлов, а затем сравнивать их в Hadoop Streaming.
Я могу сделать это на обычном питоне (то есть без MapReduce и Hadoop, это просто.), Но это невозможно из-за огромного размера данных, которые у меня с собой.