Harsh, Great. Thanks, I appreciate it. I'll try that.
Henry Henry, Something like: @Override public void run(Context context) throws IOException, InterruptedException { // Do stuff here you'd do in setup(…) otherwise. // Now begin iterating. while (context.nextKey()) { // Run your reducing function here. Like the following maybe. reduce(context.getCurrentKey(), context.getValues(), context); // Since you are now in a regular loop. Break as necessary whenever you want. Your logic. } // Do stuff here you'd otherwise do in cleanup(context); }