You should define a custom partitioner too, in order to make sure each reducer gets exactly