Сбой задачи в hadoop из-за "Несоответствия типов в ключе с карты" - PullRequest
0 голосов
/ 11 января 2012

Я следовал этому руководству за настройку Hadoop на одном компьютере с Windows.Службы NameNode и JobTracker работают соответственно на http://localhost:50070 и http://localhost:50030. Когда я запускаю драйвер Map / Reduce на локальном сервере hadoop (right click on TestDriver.java > run as > Run on Hadoop), у меня есть следующий вывод:

12/01/11 20:04:11 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
12/01/11 20:04:11 INFO mapred.FileInputFormat: Total input paths to process : 5
12/01/11 20:04:11 INFO mapred.JobClient: Running job: job_201201112003_0001
12/01/11 20:04:12 INFO mapred.JobClient:  map 0% reduce 0%

12/01/11 20:04:21 INFO mapred.JobClient: Task Id : attempt_201201112003_0001_m_000000_0, Status : FAILED
java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, recieved org.apache.hadoop.io.LongWritable
    at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:558)
    at org.apache.hadoop.mapred.lib.IdentityMapper.map(IdentityMapper.java:37)
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
    at org.apache.hadoop.mapred.Child.main(Child.java:158)

[Previous block is repeated 2 times, the task id changes]

java.io.IOException: Job failed!
    at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232)
    at driverPkg.TestDriver.main(TestDriver.java:42)

У вас есть представление о том, что происходит?

Ответы [ 2 ]

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

Это соответствующая строка:

Несоответствие типов в ключе с карты: ожидаемый org.apache.hadoop.io.Text, получено org.apache.hadoop.io.LongWritable

Похоже, ваш Mapper определен с выводом TextWritable (смотрите <> в классе Mapper и методе Map), но вы выводите LongWritable.Либо измените определение, либо то, что вы пишете.

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

Вы можете использовать формат KeyValueTextInput вместо TextInputFormat для временного решения проблемы.

Смотрите подробный пример по следующей ссылке.

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

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

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