Je cours la carte réduire le travail. Quelle que soit la taille du fichier (70 Mo, 200 Mo, 2,5 Go), un seul mappeur est exécuté. La taille du bloc est de 128 Mo.hadoop mapreduce un seul mappeur est exécuté
Quelqu'un pourrait-il aider à trouver ce qui pourrait être la raison ??
Remarque
- fichier de données ne sont pas zip/gzip, il est * .dat
- Ce n'est pas l'environnement de production. Toute possibilité que l'utilisateur est un utilisateur à faible priorité ?? Réf # 11 https://cloudcelebrity.wordpress.com/2013/08/14/12-key-steps-to-keep-your-hadoop-cluster-running-strong-and-performing-optimum/
.
Mon code pour soumettre le travail est comme ci-dessous:
String configPath = arg[0];
String feedString = FileUtils.readFileToString(new File(configPath), StandardCharsets.UTF_8.name());
getConf().set(Constants.FEED_CONFIG_STRING, feedString);
getConf().set("mapred.reduce.tasks.speculative.execution", "false");
Job job = new Job(conf);
Feed feed = XMLFeedConfig.getFeed(feedString);
job.setJarByClass(DataValidationJob.class);
job.setJobName("Job " + feed.getName());
ValidatorInputFormat.setInputPaths(job, new Path(feed.getSrc_location()));
FileOutputFormat.setOutputPath(job, new Path(feed.getDest_location()));
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(Text.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
job.setMapperClass(ValidatorMapper.class);
job.setReducerClass(ValidatorReducer.class);
LazyOutputFormat.setOutputFormatClass(job, TextOutputFormat.class);
job.setNumReduceTasks(1);
job.setInputFormatClass(ValidatorInputFormat.class);
// job.setOutputFormatClass(TextOutputFormat.class);
return job.waitForCompletion(true) ? 0 : 1;
pouvez-vous publier les journaux que vous obtenez – madhu
Qu'est-ce que ValidatorInputFormat? –
ValidatorInputFormat est une implémentation Simple RecordReader – Betta