Как прочитать файл Hadoop Sequentil в качестве входных данных для задания Hadoop? - PullRequest
1 голос
/ 11 января 2012

У меня есть последовательный файл с парой ключ-значение типа "org.apache.hadoop.typedbytes.TypedBytesWritable" , я должен предоставить этот файл в качестве входных данных для задания Hadoop и обрабатывать его только на карте. Я имею в виду, что мне не нужно делать ничего, что нужно будет уменьшить.

1) Как мне указать FileInputFormat как SequentialFile?

2) Какой будет подпись функции карты.

3) Как я получу вывод с карты вместо уменьшения?

1 Ответ

3 голосов
/ 11 января 2012

1) Как указать FileInputFormat в качестве SequentialFile?

Установить SequenceFileAsBinaryInputFormat в качестве формата ввода.Вот код для класса SequenceFileAsBinaryInputFormat.

Вот код

JobConf conf = new JobConf(getConf(), getClass());
conf.setInputFormat(SequenceFileAsBinaryInputFormat.class);

2) Какой будет подпись функции карты.

Карта будет вызываться с помощью BytesWritable в качестве типа ключа и значения.

3) Как я получу вывод с карты вместо Reduce?

Установите для свойства mapred.reduce.tasks значение 0. Вывод карты будет окончательным выводом задания.


Кроме того, взгляните на SequenceFileAsTextInputFormat .Карта будет вызываться с текстом в качестве типа ключа и значения.

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