У меня довольно простой вопрос о hadoop, который я постараюсь представить на примере
скажем, у вас есть список строк и большой файл, и вы хотите, чтобы каждый маппер обрабатывал часть файла и одну из строк в программе, подобной grep.
как ты должен это делать? У меня сложилось впечатление, что количество картографов является результатом произведенных inputSplits. Я мог бы запускать последующие задания, по одному для каждой строки, но это вроде как ... грязно?
edit: На самом деле я не пытаюсь создать уменьшенную версию карты grep. Я использовал это как пример наличия 2 разных входов для картографа. Давайте просто скажем, что я перечислил A и B и хотел бы, чтобы маппер работал с 1 элементом из списка A и 1 элементом из списка B
Итак, учитывая, что проблема не связана с данными, что привело бы к необходимости создания цепочек заданий, мой единственный вариант - как-то разделить весь список A на всех сопоставителях, а затем ввести 1 элемент списка B каждому сопоставителю?
То, что я пытаюсь сделать, это создать некую структуру с префиксом поиска для моих данных. Итак, у меня есть гигантский текст и набор строк. Этот процесс имеет сильное узкое место в памяти, поэтому я был после 1 куска текста / 1 строки на маппер