Как читать несколько файлов из нескольких каталогов в Map-Reduce - PullRequest
1 голос
/ 28 декабря 2011

Я хочу прочитать несколько файлов из нескольких каталогов в программе Map-Reduce. Я попытался дать имя файла в основном методе:

FileInputFormat.setInputPaths(conf,new Path("hdfs://localhost:54310/user/test/"));
FileInputFormat.setInputPaths(conf,new Path("hdfs://localhost:54310/Test/test1/"));

Но он читает только из одного файла.

Что мне делать для чтения нескольких файлов?

Пожалуйста, предложите решение.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 28 декабря 2011

FileInputFormat#setInputPaths установит входные пути после переопределения входных путей, установленных ранее.Используйте FileInputFormat#addInputPath или FileInputFormat#addInputPaths, чтобы добавить к существующему пути.

0 голосов
/ 04 июля 2015
Follow the below steps for passsing multiple input files from different direcories.Just driver code changes.Follow the below driver code.
CODE:
public int run(String[] args) throws Exception {
        Configuration conf=new Configuration();
        Job job=Job.getInstance(conf, "MultipleDirectoryAsInput");

        job.setMapperClass(Map1Class.class);
        job.setMapperClass(Map2Class.class);
        job.setReducerClass(ReducerClass.class);        
         job.setJarByClass(DriverClass.class);      
        job.setMapOutputKeyClass(Text.class);
        job.setMapOutputValueClass(IntWritable.class);      
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(NullWritable.class);        
        //FileInputFormat.setInputPaths(job, new Path(args[0]));        
        MultipleInputs.addInputPath(job, new Path(args[0]),TextInputFormat.class,Map1Class.class);
        MultipleInputs.addInputPath(job, new Path(args[1]), TextInputFormat.class, Map2Class.class);            
        FileOutputFormat.setOutputPath(job, new Path(args[2])); 
        return job.waitForCompletion(true)?0:1;     
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...