2015-03-28 2 views
1

Итак, я пытаюсь кодировать FP-Tree алгоритм в MapReduce парадигме, для создания частого элемента набора списка, у меня есть следующая проблема:Несколько входных файлов В одном классе карт Hadoop?

Вход:

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 и Файл2.txt в один класс сопоставления? потому что это решит мою проблему

Или есть ли способ выполнить эту операцию по-другому?

Любая помощь приветствуется.

ответ

0

взгляда в MapReduce распределенного кэша example.may быть помочь полному

http://myhadoopexamples.com/2014/04/16/hadoop-map-side-join-with-distributed-cache-example/

прочитать файл в настройках method.The выше ссылка даст хорошее руководство.

Hadoop Map Reduce read a text file

+0

распределенного кэша будет полезен только тогда, когда один из размеров файлов мало, который может поместиться внутри RAM. – Azim

0

Вы можете прочитать несколько файлов в одной программе MR. Но каждый файл должен иметь класс сопоставления отдельно. Поскольку оба ваших входных файла различны, логика чтения изменяется для обоих из них. У вас может быть два картографа по одному для каждого, и выход этого должен иметь один и тот же ключ и передаваться на редуктор.

You can refer to distributed cache.

Смежные вопросы