Пример подсчета слов Hadoop завершается неудачно с «not SequentialFile».Как установить формат файла? - PullRequest
1 голос
/ 20 ноября 2011

Я пытаюсь запустить hadoop jar /usr/lib/hadoop/hadoop-examples.jar aggregatewordcount /data/gutenberg/huckfinn.txt output/guten4, но получаю сообщение об ошибке "huckfinn.txt не SequenceFile".

Я прочитал на других сайтах и вижу в источнике этого файла примера , что есть аргумент textinputformat, который, я предполагаю, исправляет это. Я не могу понять, что для этого указать.

Если я запускаю hadoop jar /usr/lib/hadoop/hadoop-examples.jar aggregatewordcount /data/gutenberg/huckfinn.txt output/guten5 2 textinputformat, я получаю другую ошибку "java.lang.RuntimeException: Ошибка в настройке объекта"

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

В ValueAggregatorJob выполняется следующая проверка

int numOfReducers = 1;
if (args.length > 2) {
  numOfReducers = Integer.parseInt(args[2]);
}

..............

if (args.length > 3 && 
    args[3].compareToIgnoreCase("textinputformat") == 0) {
  theInputFormat = TextInputFormat.class;
} else {
  theInputFormat = SequenceFileInputFormat.class;
}

Если textinputformat (буквенная строка) не указан в качестве аргумента, тогда формат ввода по умолчанию равен SequenceFileInputFormat,так что huckfinn.txt not a SequenceFile error.Кроме того, для редукторов по умолчанию используется значение 1, если оно не указано.

Используйте следующую команду для запуска задания

hadoop jar hadoop-mapred-examples-0.21.0.jar aggregatewordcount /user/praveensripati/input/sample.txt /user/praveensripati/output 2 textinputformat

Обратите внимание, что обычно это hadoop-mapred-examples- 0,21.0 .jar содержит номер версии.Этот файл находится в корне установки Hadoop.Убедитесь, что файл /usr/lib/hadoop/hadoop-examples.jar присутствует.

Для разрешения java.lang.RuntimeException: Error in configuring object проверьте файлы журнала на наличие трассировки стека и отправьте его обратно.

1 голос
/ 21 ноября 2011

Согласно сообщению в списке рассылки , связанному с вашим вопросом, исключение java.lang.RuntimeException: Error in configuring object вызвано тем, что в этом примере зависимости не находятся на пути к классам задач.Вы можете увидеть это из полной трассировки: когда я запускаю вторую команду на моем компьютере, я получаю:

java.lang.RuntimeException: Error in configuring object
    [...]
Caused by: java.lang.reflect.InvocationTargetException
    [...]
Caused by: java.lang.RuntimeException: Error in configuring object
    [...]
Caused by: java.lang.reflect.InvocationTargetException
    [...]
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.apache.hadoop.examples.AggregateWordCount$WordCountPlugInClass
    [...]
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.examples.AggregateWordCount$WordCountPlugInClass
    [...]

В этом посте в блоге Cloudera обсуждаются различные методы предоставления зависимостейдля отслеживания задач.

Для запуска примера aggregatewordcount я использовал опцию -libjars:

hadoop jar hadoop-examples.jar aggregatewordcount -libjars hadoop-examples.jar /data/gutenberg/huckfinn.txt output/guten7 2 textinputformat

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