В случае, если данные в этих 4-х местах отличаются друг от друга, вам, возможно, придется рассмотреть возможность создания 4-х разных классов карт, чтобы их прочитать. Ваш код будет выглядеть примерно так, как показано ниже. Укажите ваши местоположения в качестве аргументов в последовательности при выполнении банку.
public class MultiplePaths {
public static void main(String[] args) throws Exception {
JobConf conf = new JobConf(MultiplePaths.class);
conf.setJobName("MultipleMappersPaths");
conf.setMapOutputKeyClass(Text.class);
conf.setMapOutputValueClass(Text.class);
conf.setOutputKeyClass(Text.class);
conf.setOutputValueClass(Text.class);
MultipleInputs.addInputPath(conf,new Path(args[0]),TextInputFormat.class,LocationMapper1.class);
MultipleInputs.addInputPath(conf,new Path(args[1]),TextInputFormat.class,LocationMapper2.class);
MultipleInputs.addInputPath(conf,new Path(args[2]),TextInputFormat.class,LocationMapper3.class);
MultipleInputs.addInputPath(conf,new Path(args[3]),TextInputFormat.class,LocationMapper4.class);
FileOutputFormat.setOutputPath(conf, new Path(args[2]));
JobClient.runJob(conf);
}
}
В противном случае, если вы должны читать подобные файлы из 4-й различных мест, код должен выглядеть примерно ниже example.Pass вашего местоположения в качестве аргументов в последовательности при выполнении баночки.
MultipleInputs.addInputPath(conf,new Path(args[0]),TextInputFormat.class,LocationMapper.class);
MultipleInputs.addInputPath(conf,new Path(args[1]),TextInputFormat.class,LocationMapper.class);
MultipleInputs.addInputPath(conf,new Path(args[2]),TextInputFormat.class,LocationMapper.class);
MultipleInputs.addInputPath(conf,new Path(args[3]),TextInputFormat.class,LocationMapper.class);
Невозможно (скажем, улей) присоединиться к данным и получить одну папку. если нет, то почему они должны оставаться отдельно друг от друга. – abhiieor