Итак, я пытаюсь закодировать алгоритм FP-Tree в MapReduce Paradigm, для создания часто заданного списка элементов у меня есть следующая проблема:
Входные данные :
File1.txt (содержит все транзакции)
123 452 221 12
45 76 987
77 76 123 354
[Each Line contains items Bought in one Transaction]
File2.txt (содержит предметы, которые покупаются в порядке убывания)
12 123
6 221
5 77
4 354
[Count] [Item Id]
Вывод :
output.txt
123 221
123 77 354
[2nd transaction is eliminated]
Элементы в соответствии с их подсчетом берутся (спускаются), другие удаляются
Можно ли взять файлы File1.txt и File2.txt в один класс сопоставления? потому что это решит мою проблему
Или есть ли способ выполнить эту операцию по-другому?
Любая помощь приветствуется.
Вы можете читать несколько файлов в одной программе MR. Но каждый файл должен иметь класс сопоставления отдельно. Поскольку оба ваших входных файла различны, логика чтения изменяется для обоих из них. У вас может быть два картографа по одному для каждого, и выход этого должен иметь один и тот же ключ и передаваться на редуктор.
посмотреть в mapreduce распределенный кеш example.may быть полной
http://myhadoopexamples.com/2014/04/16/hadoop-map-side-join-with-distributed-cache-example/
прочитайте файл в методе setup.the выше ссылка даст хорошее руководство.