开发者学堂课程【Hadoop 分布式计算框架 MapReduce:分组排序案例扩展】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/94/detail/1535
分组排序案例扩展
下面的代码案例表示的只输出了最贵的一个价格
package com.atguigu.mr.order;import java.io.IOException;
public class OrderReducer extends Reducer<OrderBean,Nullwritable,OrderBean,Nullwritab>{
@Override
protected void reduce(OrderBean key,Iterable<Nullwritable> values,Context context)
throws IOException,InterruptedException {
context.write(key,Nullwritable.get());
}
}
但如果我们想要输出前三名的话,只需要最后两行代码中,输入 for(NullWritable nullWritable :values) ,由此来记住循环的次数,如下:
之后再回到 OrderDiver 类中,将 output4 变成 output5,
运行查看结果,就得到了我们所要的最高的三个值,基于该代码有所难度,同学们课后多度思考