Counter
计数器:
1.mapreduce任务计数器:TaskCounter
2.文件系统计数器:FileSystemCounter
3.输入文件计数器:FileInputFormatCounter
4.输出文件计数器:FileOutputFormatCounter
5.任务计数器:JobCounter
自定义计数器:
6.Context中可以获取一个Counter,再根据Counter的increamen(long )
context.getCounter(MyCounter.SIMA).increament(2);
7.动态添加计数器:
使用Context的getCounter(String groupName,String counterName)
8.获取counter的值.
Counters counter = RunningJob.getCounters();
counter.find("groupName","helloword")//获取自定义的counter
排序
二次排序:对Map的结果进行排序处理,需要继承
WritableComparator,需要一个无参的构造函数。
public SecondSort(){super(MyDataType.class,true)},其中MyDataType是需要进行
比较的数据类型。使用方法:job.setSortComparatorClass(SecondSort.class)结果分组:对Reducer的输出结果进行分组处理。也需要继承
WritableComparator以及一个无参的构造函数。
public ResultSort(){super(MyDataType.class,true)},MyDataType也是需要进行分组的数据
类型。使用方法:job.setGroupingComparatorClass(ResultSort.class)
本文深入解析了MapReduce任务中的计数器使用,包括TaskCounter、FileSystemCounter、FileInputFormatCounter、FileOutputFormatCounter和JobCounter等,并详细介绍了如何在Context中自定义计数器、动态添加计数器以及获取计数器值的方法。同时,提供了对Map结果排序和Reducer输出结果分组的具体实现策略。

被折叠的 条评论
为什么被折叠?



