Hadoop пользовательский сплит TextFile - PullRequest
2 голосов
/ 13 июня 2011

У меня довольно большой текстовый файл, который я хотел бы преобразовать в SequenceFile.К сожалению, файл состоит из кода Python с логическими строками, проходящими через несколько физических строк.Например,
print "Blah Blah \
... blah blah"
Каждая логическая строка заканчивается NEWLINE.Может ли кто-нибудь уточнить, как я мог бы генерировать пары «ключ-значение» в Map-Reduce, где каждое значение представляет собой целую логическую строку?

Ответы [ 3 ]

4 голосов
/ 15 июня 2011

Я не нахожу вопрос, заданный ранее, но вам просто нужно перебрать свои строки с помощью простого задания mapreduce и сохранить их в StringBuilder. Переведите StringBuilder в контекст, если вы хотите начать с новой записи. Хитрость заключается в том, чтобы настроить StringBuilder в вашем классе отображения как поле, а не как локальную переменную.

вот оно: Обработка парафрафов в текстовых файлах как отдельных записей с помощью Hadoop

1 голос
/ 14 июня 2011

Вы должны создать свой собственный вариант TextInputFormat.Там вы создаете новый RecordReader, который пропускает строки, пока не увидит начало логической строки.

0 голосов
/ 15 июня 2011

Предварительная обработка входного файла для удаления новых строк. Какова ваша цель в создании SequenceFile?

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