У меня есть файл размером 50 МБ (полный текст без пробелов). Я хочу разбить эти данные таким образом, чтобы каждый картограф получал 5 МБ данных. Mapper должен получать данные в формате (K, V), где ключ - номер раздела (например, 1,2, ..), а значение - обычный текст (5 МБ).Создание пользовательского значения ключа для mappers в hadoop из файла
Я прочитал InputFormat (method getSplits)
, FileInputFormat (FileSplit method)
и RecordReader
, но не мог понять, как создавать и использовать расщепляется создать необходимый пользовательский (K, V) для моих картографов. Я новичок в программировании Hadoop MapReduce
, поэтому, пожалуйста, предложите мне, как действовать в этом случае.
Что вы подразумеваете под полными текстовыми данными без пробела? Не могли бы вы привести небольшой пример? Вам нужна логика для создания пар для картографов. Например, логика в примере wordcount состоит в том, чтобы разбить текстовые данные на пробелы. –
Мои данные - это большой файл, содержащий символ sequece, такой как sdaccraggrralwghdsgfndsnvfcvnd ..... в MB's. поэтому я хочу разбить эти данные, чтобы применить мою обработку на каждой стороне карты. и я хочу определить, какой из разделов указан в файле mapper – Sumit
Итак, вы хотите разбить эту строку, на что? Какая логика? Возможно, вы можете использовать SubString, но какова ваша заинтересованность? –