Не удалось запустить пример потоковой передачи hadoop - Несовпадение типов в ключе с карты - PullRequest
2 голосов
/ 28 сентября 2011
I was running  $HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar \
    -D stream.map.output.field.separator=. \
    -D stream.num.map.output.key.fields=4 \
    -input myInputDirs \
    -output myOutputDir \
    -mapper org.apache.hadoop.mapred.lib.IdentityMapper \
    -reducer org.apache.hadoop.mapred.lib.IdentityReducer 
What hould be the input file when IdentityMapper is the mapper?

Я надеялся увидеть, что он может сортировать некоторые выбранные ключи, а не все ключи. Мой входной файл прост "аа бб". "cc dd" Не уверен, что я пропустил? Я всегда получаю эту ошибку java.lang.Exception: java.io.IOException: несоответствие типов в ключе из карты: ожидается org.apache.hadoop.io.Text, получено org.apache.hadoop.io.LongWritable в org.apache.hadoop.mapred.LocalJobRunner $ Job.run (LocalJobRunner.java:371) Вызвано: java.io.IOException: несоответствие типа в ключе из карты: ожидаемый org.apache.hadoop.io.Text, получен org.apache.hadoop.io.LongWritable

Ответы [ 2 ]

4 голосов
/ 28 сентября 2011

Это известная ошибка, а вот JIRA .Ошибка была обнаружена в Hadoop 0.21.0, но я не думаю, что она есть в какой-либо версии релиза Hadoop.Если вы действительно хотите это исправить, вы можете

  • скачать исходный код для Hadoop (для выпускаемого вами релиза)
  • скачать патч из JIRA и применить его
  • сборка и тестирование Hadoop

Вот инструкции о том, как применить исправление.

Или вместо использования IdentityMapper и IdentityReducder,используйте сценарии python / perl, которые будут считывать пары k / v из STDIN, а затем записывать те же самые пары k / v в STDOUT без какой-либо обработки.Это похоже на создание собственного IdentityMapper и IdentityReducder без Java.

0 голосов
/ 08 июня 2012

Я пробовал свои силы на Hadoop на собственном примере, но получил ту же ошибку. Я использовал KeyValueTextInputFormat для решения этой проблемы. Вы можете посмотреть на следующий блог для того же.

http://sanketraut.blogspot.in/2012/06/hadoop-example-setting-up-hadoop-on.html

Надеюсь, это поможет вам.

Мир. Санкет Раут

...