Копирование файлов из HDFS в локальную файловую систему с JAVA - PullRequest
2 голосов
/ 29 февраля 2012

Я пытаюсь скопировать файлы из HDFS в локальную файловую систему для предварительной обработки. Приведенный ниже код должен работать в соответствии с документацией. Хотя он не выдает никаких сообщений об ошибках, и задание mapreduce работает без сбоев, я не вижу никакого вывода на моем локальном жестком диске. Как вы думаете, в чем проблема? Благодарю.

        try {
            Path phdfs_input = new Path("hdfs://master:54310/user/hduser/conninput/"+value.toString());
            Path plocal_input = new Path("/home/hduser/Desktop/"+avlue.toString());
            FileSystem fs = FileSystem.get(context.getConfiguration());
            fs.copyToLocalFile(phdfs_input, plocal_input);

           /* String localoutput_file = "/home/hduser/Destop/output/"+value.toString();
            String cmd1[] = {"mafia", "-mfi", ".5", "-ascii", "~/Desktop/"+value.toString(), localoutput_file };
            File mafia_dir = new File("/home/hduser/");
            ShellCommandExecutor s = new ShellCommandExecutor(cmd1, mafia_dir);*/
        } catch (Exception e) {
            e.printStackTrace();
        }

1 Ответ

2 голосов
/ 29 февраля 2012

Попробуйте использовать /user/hduser/conninput/"+value.toString() в конструкторе Path вместо предоставления части master:54310. Следует выяснить master:54310 из Configuration.

...