Hadoop经典案例Spark实现(六)——求最大的K个值并排序
一、需求分析
b.txt
预测结果:(求 Top N=5 的结果)
一、需求分析
#orderid,userid,payment,productid
求topN的payment值
a.txt1,9819,100,121
2,8918,2000,111
3,2813,1234,22
4,9100,10,1101
5,3210,490,111
6,1298,28,1211
7,1010,281,90
8,1818,9000,20
b.txt
100,3333,10,100
101,9321,1000,293
102,3881,701,20
103,6791,910,30
104,8888,11,39
预测结果:(求 Top N=5 的结果)
1 9000
2 2000
3 1234
4 1000
5 910
二、MapReduce实现
因为MR默认是升序的因此要自定义输入类型
自定义倒充的整型输入
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import org.apache.hadoop.io.WritableComparable;
public class MyIntWritable implements WritableComparable<MyIntWritable> {
private Integer num;
public MyIntWrit