Я новичок в Hadoop и Mapreduce. У меня есть требование сравнить два файла excel с помощью mapreduce. Я должен перейти к mapreduce, так как размер этих файлов будет очень большим (> 10gb). Мой вопрос заключается в том, как я могу получить два разных входных файла из другого картографа и сравнить эти два файла в Reducer. Мне нужно преобразовать это приложение в jar и запустить его в Amazon EMR. Я не могу найти подходящий учебник для этого в Интернете. Пожалуйста, предоставьте мне некоторые идеи для этого.Сравнение двух файлов Excel с использованием Hadoop Mapreduce
0
A
ответ
0
Я думаю, что распределенный кеш был бы полезен в вашей ситуации. Я не использовал распределенный кеш с большими файлами, но, пожалуйста, изучите и сообщите мне, работает ли он для вас.
+0
Спасибо за ваш ответ. Я попробую это и дам вам знать. –
0
Основываясь на ваших ответах на мой комментарий здесь, как я думаю, что это должно быть сделано, если вы реализуете его с помощью простой Map-Reduce -
- Создание пользовательского InputFormat, который считывает таблицу Excel.
- В качестве части этого вам понадобится RecordReader, который считывает электронную таблицу Excel и выводит местоположение ячейки (например, A1) в качестве ключа и ее содержимого как значения.
- После того, как файлы прочитаны, вам необходимо выполнить внутреннее соединение на двух наборах данных с помощью клавиши (которая является ячейкой).
- Post join, вы можете сравнить содержимое ячейки.
Может оказаться полезным, если взглянуть на API-интерфейс Apache Pig или Cascading API, который абстрактно упрощает отображение карты.
С уважением, Amit
Я полагаю, вы хотите сравнить лист строку первенствовать по строкам. У вас есть общий столбец в обеих таблицах, который будет связывать строки из двух таблиц? – Amit
Amit, На самом деле мне нужно сравнить каждую ячейку в обоих файлах excel. Я мог бы зациклиться. Но перед этим мне нужно прочитать файлы Excel и отправить их на редуктор. –
Пожалуйста, не спешите к картеру или редуктору так скоро. Сопоставляет ли каждая ячейку среднее значение A1 в первой таблице по сравнению с A1 во втором? Или A1 со всеми другими ячейками в другой таблице? – Amit