按Java中的Map Reduce中的值排序

我的减速器的输出如下:

a,b,c,d,e,f
--------------
a,5,cc,dd,ee,ff
b,3,dd,cc,ff,ee
c,10,ee,ff,cc,dd
d,29,ff,ee,cc,dd

Where a is the key of the reducer, so the output is ordered for a field. I would like the output descending ordered for b field. So it should be:

a,b,c,d,e,f
----------------
d,29,ff,ee,cc,dd
c,10,ee,ff,cc,dd
a,5,cc,dd,ee,ff
b,3,dd,cc,ff,ee

我的减速器就像:

public void reduce(Text a, Iterable<Text> values, Context context)
                throws IOException, InterruptedException {

            for (Text value : values) {
                .....
            context.write(new Text(a), new Text(b+","+c+","+d+","+e+","+f);
        }
}