Я новичок в Hadoop, прочитал проблему с небольшим файлом в Hadoop, теперь у меня есть проблема, которую нужно решить, помогите мне начать
Проблема:
Исходный результат: более 1 миллиона (приблизительно) файлов, каждый из которых имеет размер почти 1 КБ (нельзя предотвратить создание или регулирование размера)
Группировка результатов. Исходные результаты группируются в 1000 файлов в группе .
Требуется задание:
Файлы в группе должны сравниваться по принципу «один к одному». Файлы представляют собой двоичные миниатюрные (биометрические) файлы с определенной стандартной структурой (заголовок, содержимое и т. д.).
Поскольку ожидается, что исходный результат со временем увеличится, я хотел бы провести сравнение на Hadoop.
Вклад в Hadoop:
‹ InputFile > ‹ HARFile > ‹ Output >
‹ Пример входного файла >:
Обратите внимание, что имена файлов являются уникальными идентификаторами, и одно только имя файла может помочь.
08RTC345744.txt 08RTC345746.txt
08RTC345744.txt 08RTC3457XX.txt
08RTXX457XX.txt 08YYC3457YY.txt
..................
XXXXXXN.txt YYYYYYN.txt
Алгоритм процесса: (не реализован, а просто идея)
- Читать входной файл построчно
- Прочитайте каждый файл в строке с помощью har:// (например, прочитайте har://xxx/08RTC345744.txt и har://xxx/08RTC345746.txt)
- Сравните файл, считанный с hdfs (HAR), используя соответствующий биометрический алгоритм.
- если они показывают сходство Emit ‹ Filenames > ‹ Count >
‹ HARFile SAMPLE Files >
08RTC345744.txt
08RTC345746.txt
08RTC345745.txt
08RTC3457XX.txt
08RTXX457XB.txt
08YYC3457YY.txt
1) Лучше реализовать в Hadoop?
2) Я читал, что сравнение небольших файлов является проблемой в Hadoop, лучше ли сформировать файл HAR для набора групп, а затем сравнить?
3) Будет ли мой алгоритм обработки работать или нет?
4) эффективен? Я думаю, конечно, нет, любая другая идея?
5) Любая идея относительно MapReduce для биометрического сопоставления?
6) Является ли HBASE решением?