Я занимаюсь разработкой демонстрационного приложения на Hadoop, и мой ввод - это файлы изображений .mrc.Я хочу загрузить их в hadoop и выполнить некоторую обработку изображений поверх них.
Это двоичные файлы, которые содержат большой заголовок с метаданными, за которыми следуют данные набора изображений.Информация о том, как читать изображения, также содержится в заголовке (например, number_of_images, number_of_pixels_x, number_of_pixels_y, bytes_per_pixel, поэтому после байтов заголовка первые [number_of_pixels_x*number_of_pixels_y*bytes_per_pixel]
являются первым изображением, затем вторым и т. Д.].
Что такое хороший формат ввода для файлов такого типа? Я подумал о двух возможных решениях:
- Преобразовать их в файлы последовательности, поместив метаданные в заголовок файла последовательности и иметь пары длякаждое изображение. В этом случае я могу получить доступ к метаданным из всех картографов?
- Написать пользовательские InputFormat и RecordReader и создать разбиения для каждого изображения, помещая метаданные в распределенный кеш.
Я новичок в Hadoop, поэтому, может быть, я что-то упускаю. Какой подход вы считаете лучшим? Есть ли другой способ, которого мне не хватает?