Соединение на стороне карты с помощью Hadoop Streaming

У меня есть файл, в котором каждая строка является записью. Я хочу, чтобы все записи с одинаковым значением в определенном поле (вызовите, если поле A) перешли к одному и тому же сопоставителю. Я слышал, что это называется соединением на стороне карты, и я также слышал, что это легко сделать, если записи в файле отсортированы по тому, что я называю полем А.

Если бы было проще, данные можно было бы разнести по нескольким файлам, но каждый файл сортировать по полю А.

Это правильно? Как мне это сделать с потоковой передачей? Я использую Python. Предположим, это просто часть команды, которую я использую для запуска Hadoop?


person Andrew    schedule 15.08.2012    source источник
comment
Я все еще стремлюсь узнать ответ. Должен ли я что-то уточнить?   -  person Andrew    schedule 17.08.2012


Ответы (1)


Каково реальное оправдание того, что только определенные записи должны передаваться определенным картографам? Если вы хотите, чтобы конечным результатом было 3 выходных файла (один со всеми A, другой со всеми B, последний со всеми C), вы можете добиться этого с помощью нескольких редукторов. Нужно знать, чего вы действительно хотите достичь.

person rICh    schedule 02.12.2012