Моя программа соответствует итеративному методу map/reduce. И он должен остановиться, если будут выполнены определенные условия. В любом случае я могу установить глобальную переменную, которая может быть распределена по всем задачам map/reduce и проверить, достигает ли глобальная переменная условие завершения.Глобальные переменные в hadoop
Нечто подобное.
While(Condition != true){
Configuration conf = getConf();
Job job = new Job(conf, "Dijkstra Graph Search");
job.setJarByClass(GraphSearch.class);
job.setMapperClass(DijkstraMap.class);
job.setReducerClass(DijkstraReduce.class);
job.setOutputKeyClass(IntWritable.class);
job.setOutputValueClass(Text.class);
}
Где условие - глобальная переменная, которая изменяется во время/после каждой карты/уменьшает выполнение.
Не могли бы вы объяснить немного больше о том, как использовать счетчики? Благодарю. – Deepak
Попробуйте это для краткого введения: http://philippeadjiman.com/blog/2010/01/07/hadoop-tutorial-series-issue-3-counters-in-action/ – SquareCog