Hadoop下TreeMap的使用

来源:互联网 发布:娃娃幼儿园软件 编辑:程序博客网 时间:2024/06/07 21:08

最近在Hadoop下写Topk算法时,用到了TreeMap,它的API很适合该算法,比如:

TreeMap<Integer,Integer> tree = new TreeMap<Integer,Integer>();tree.firstEntry().getValue(); //最小值  tree.lastEntry().getValue(); //最大值  tree.navigableKeySet(); //从小到大的正序key集合  tree.descendingKeySet();//从大到小的倒序key集合tree.remove(tree.firstKey());//删除键值最小的一对键值

在其中犯了一个错误,耽搁了好久,就是TreeMap中不能使用Hadoop的“”封装类型“”,而必须使用java的封装类型。比如:

TreeMap<Integer,Text> tree = new TreeMap<Integer,Text>();

就是错的,不能使用Text,但是map/reduce函数的key、value必须使用Hadoop的封装类型,所以这里可以通过String来做中间转化。