Hadoop: отображение бинарных файлов - PullRequest
2 голосов
/ 10 июня 2010

Обычно входной файл может быть частично прочитан и обработан функцией Mapper (как в текстовых файлах). Есть ли что-нибудь, что можно сделать для обработки двоичных файлов (скажем, изображений, сериализованных объектов), для которых требуется, чтобы все блоки находились на одном хосте, прежде чем начнется обработка.

1 Ответ

3 голосов
/ 11 июня 2010

Вставьте ваши изображения в SequenceFile;тогда вы сможете обрабатывать их итеративно, используя map-Reduce.

Чтобы быть немного менее загадочным: Hadoop изначально ничего не знает о тексте, а не о тексте.У него просто есть класс, который знает, как открыть входной поток (hdfs объединяет блоки вместе на разных узлах, чтобы они выглядели как один большой файл).Кроме того, у вас есть Reader и InputFormat, который знает, как определить, где в этом потоке начинаются записи, где они заканчиваются, и как найти начало следующей записи, если вы уронили где-то в середине файла.TextInputFormat - это всего лишь одна реализация, которая рассматривает переводы строк как разделитель записей.Существует также специальный формат, называемый SequenceFile, в который можно записывать произвольные двоичные записи, а затем возвращать их обратно.Используйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...