2013-02-15 2 views
0

Я планирую систему hdfs, которая будет размещать файлы изображений (от нескольких Мбайт до 200 МБ) для цифрового хранилища (Fedora Commons). Я нашел от another stackoverflow post, что CombineFileInputFormat может использоваться для создания входных разделов, состоящих из нескольких входных файлов. Можно ли использовать этот подход для изображений или pdf? Внутри задачи карты я хочу полностью обрабатывать отдельные файлы, т. Е. Обрабатывать каждое изображение в разделенном виде отдельно.Использование CombineFileInputFormat для изображений (или BLOB)?

Я знаю о проблеме с маленькими файлами, и это не будет проблемой для моего дела.

Я хочу использовать CombineFileInputFormat для того, чтобы избежать проблем с настройкой/очисткой задачи Mapper и сохранением данных.

ответ

0

Если вы хотите обработать изображения в Hadoop, я могу только рекомендовать использовать HIPI, что должно позволить вам делать то, что вам нужно.

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

Подход, который вы также можете рассмотреть, заключается в том, чтобы вводить файл, содержащий URL-адреса/местоположения ваших изображений (например, вы можете поместить их в Amazon S3), и убедитесь, что у вас столько карт, сколько изображений, а затем каждый задача карты сможет обрабатывать индивидуальное изображение. Я сделал что-то подобное не так давно, и все получилось нормально.

+0

Извините, если я не был чист. Я хочу использовать 'CombineFileInputFormat' для подачи каждого картографа с несколькими изображениями, поэтому ожидается разнесение ввода с более чем 1 изображением. Будет ли возможно найти границы отдельных изображений внутри картографа? Кроме того, возможно ли, что 'CombineFileInputFormat' разделит одно изображение на два входных разделения? – Mohamed

+0

Причина, по которой я хотел избежать HIPI, заключается в том, что изображения управляются внешним сервером (Fedora Commons), который использует HDFS в качестве хранилища файлов. Поэтому мне пришлось бы создавать копии исходных изображений в архиве HIPI. Это увеличит требования к хранению кластера. Кроме того, мне пришлось бы перестроить архив HIPI, когда изображения будут добавлены/удалены. Я также рассмотрел другое решение по использованию списка URL-адресов в качестве входных данных, но преимущество в отношении местоположения данных будет потеряно. – Mohamed

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