1.combiner
map
partition
reduce
combiner
1 | combiner : |
2.TopN(全局)
两个思路:假设有100个map,那么在map输出的时候
- 是要输出map里所有的(利用reduce input时候 key排序 来设计 map端输出到reduce 在reduce端进行topn)
- map输出的时候只需要输出map里的topn就可以呢(在map 方法里写 topn 最后使用clean up 输出 reduecer 那边和mapper类似)
最好是现在map里处理好再输出。
1 | 1,2 都有这个问题 : 会把重复的key覆盖掉,注意不是treemap的问题 treemap是用来排序的 是key的类型的问题 key的类型的comparable方法的问题,所以这里你要自定义一个key的数据类型 |
3.ArrayList
1 | 1.底层是一个object类型的数组 |
4.outputformat
1 | 1.自定义outputformat |
5.把不同数据分类写入不同的文件(两种方法)
1 | 1.自定义分区 |
6.join
reducer join
map join
1 | 流程: |
1 | reducer join: |