Hadoop - проблема с входным каталогом - PullRequest
1 голос
/ 07 мая 2019

Основная проблема в том, что программа запускает Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://quickstart.cloudera:8020/user/davide/wordcount/input already exists

Команда, которую я запускаю для запуска задания, следующая: hadoop jar wordcount.jar org.wordcount.WordCount /user/davide/wordcount/input /user/davide/wordcount/output, что кажется правильным (выходной каталог не существует, как притворяется hadoop).

В файле java пути, кажется, установлены правильно:

FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));

Я попробовал несколько решений, но не смог понять, в чем проблема.

Заранее спасибо.

1 Ответ

0 голосов
/ 07 мая 2019

Проблема заключается в нумерации аргументов: args[0] на самом деле org.wordcount.WordCount, поэтому вам нужно использовать args[1] для ввода и args[2] для вывода. Если вы заметили, ошибка говорит Output directory hdfs://quickstart.cloudera:8020/user/davide/wordcount/input already exists - он пытается использовать папку input в качестве вывода.

Чтобы это исправить:

FileInputFormat.addInputPath(job, new Path(args[1]));
FileOutputFormat.setOutputPath(job, new Path(args[2]));
...