肥宅钓鱼网
当前位置: 首页 钓鱼百科

mapreduce队列设置(MapReduce中的计数器)

时间:2023-08-20 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

介绍计数器是收集作业统计信息的有效手段之一,用于质量控制或应用级统计。计数器还可辅助诊断系统故障。如果需要将日志信息传输到map或reduce任务,更好的方法通常是看能否用一个计数器值来记录某一特定事件的发生。

接着 Hadoop之MapReduce分区 这一篇的内容。

介绍

计数器是收集作业统计信息的有效手段之一,用于质量控制或应用级统计。计数器还可辅助诊断系统故障。如果需要将日志信息传输到 map 或 reduce 任务, 更好的方法通常是看能否用一个计数器值来记录某一特定事件的发生。对于大型分布式作业而言,使用计数器更为方便。除了因为获取计数器值比输出日志更方便,还有根据计数器值统计特定事件的发生次数要比分析一堆日志文件容易得多。

hadoop内置计数器列表

MapReduce任务计数器

org.apache.hadoop.mapreduce.TaskCounter

文件系统计数器

org.apache.hadoop.mapreduce.FileSystemCounter

FileInputFormat计数器

org.apache.hadoop.mapreduce.lib.input.FileInputFormatCounter

FileOutputFormat计数器

org.apache.hadoop.mapreduce.lib.output.FileOutputFormatCounter

作业计数器

org.apache.hadoop.mapreduce.JobCounter

每次mapreduce执行完成之后,我们都会看到一些日志记录出来,其中最重要的一些日志记录如下截图

所有的这些都是MapReduce的计数器的功能,既然MapReduce当中有计数器的功能,我们如何实现自己的计数器?

需求:以分区代码为案例,统计map接收到的数据记录条数

第一种方式定义计数器,通过context上下文对象可以获取我们的计数器,进行记录

通过context上下文对象,在map端使用计数器进行统计。

增加PartitionMapper.java

import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Counter;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;public class PartitionMapperextends Mapper<LongWritable, Text,Text, NullWritable> {/*** map方法将K1和V1转为K2和V2*/@Overrideprotected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, NullWritable>.Context context) throws IOException, InterruptedException {Counter counter = context.getCounter("MR_COUNT", "MyRecordCounter");counter.increment(1L);context.write(value,NullWritable.get());}}

同时在主类中增加设置:

job.setMapperClass(PartitionMapper.class);job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(NullWritable.class);

如下图所示:

运行程序之后就可以看到我们自定义的计数器在map阶段读取了15213条数据:

第二种方式,通过enum枚举类型来定义计数器,统计reduce端数据的输入的key有多少个

增加PartitionerReducer.java

import org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Reducer;import java.io.IOException;public class PartitionerReducer extends Reducer<Text, NullWritable,Text,NullWritable> {public static enum Counter{MY_REDUCE_INPUT_RECORDS,MY_REDUCE_INPUT_BYTES}@Overrideprotected void reduce(Text key, Iterable<NullWritable> values, Reducer<Text, NullWritable, Text, NullWritable>.Context context) throws IOException, InterruptedException {context.getCounter(Counter.MY_REDUCE_INPUT_RECORDS).increment(1L);context.write(key, NullWritable.get());}}

同时在主类中增加设置:

job.setReducerClass(PartitionerReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(NullWritable.class);

如下图所示:

执行效果如下:

,
    推荐阅读
  • 松红梅花语是什么(松雪梅的花语)

    另外,它的花朵十分具有观赏性,可以为节日增添一份欢快的氛围。

  • z170主板网卡是千兆吗(华硕z170主板怎么样)

    华硕z170主板怎么样以华硕主板Z170PROGAMING为例,支持LGA1151插槽的第6代英特尔?千兆网卡、LANGuard网络保护及GameFirstIII游戏低延迟,使您的网络连接功能更加快速安全。GameFirstIII游戏低延迟技术藉由消除游戏迟缓情形、串流延迟及减缓文件分享速度的方式,优先处理游戏包封,并分配更多带宽给游戏使用,使您先走在科技前沿。产品规格可能会依国家地区而有所变动,我们诚挚的建议您与当地的经销商或零售商确认目前销售产品的规格。

  • 七上外研版英语词汇运用(外研版英语七上核心词汇)

    七上外研版英语词汇运用今天是2022年9月19日,周一。现在刚刚晚自修回到家,每天的学习是不能间断的。数词,目前就只要听说读写四会掌握就可以。课堂回答声音偏小,于是,从今天开始,要求学生每天大声朗读或者背诵。学生的作业多,老师的任务就重。老师的工作,真的不是就只有课本上的几节课。

  • 奇迹暖暖最新活动的搭配海浪气息(奇迹暖暖狩猎帆风高分搭配推荐)

    奇迹暖暖狩猎帆风高分搭配推荐[闽南网]­奇迹暖暖狩猎帆风要怎么样搭配,下面我们看看这个狩猎帆风完美高分搭配的技巧­奇迹暖暖狩猎帆风怎么搭配?­两套总耗钻3450,第一套风暴驯服者耗钻1600,部件获取顺序固定活动期间体力足够【全。

  • 昆山柏庐办事处各社区返回人员社区登记电话汇总

    昆山柏庐办事处各社区返回人员社区登记电话汇总昆山市新型冠状病毒感染的肺炎疫情防控工作指挥部要求所有来自或途经湖北省、浙江省温州市等重点地区人员进入昆山市必须自觉配合体温检测等措施,并在1小时内主动向居住地村(社区)报告。近14天有湖北省、浙江省温州市等重点地区旅居史或人员接触史的,必须配合区镇、城市管理办事处、村(社区)落实集中隔离观察等措施。

  • 荸荠的作用与功效(荸荠有什么作用)

    荸荠的作用与功效荸荠作为一种水果来说味甜多汁,清脆可口,因此对于人体来说,具有很好的营养价值和药用价值,荸荠的功效主要有生津止渴,利肠通便,清肺化痰,对于人体来说荸荠可以用来进行搭配和相关的治疗,比如说荸荠可以治疗一些肺热疾病。

  • 2022商丘中考分段线 2021商丘市中考分数线与录取线

    商丘市教育局7月15日发布2022年商丘市普通高中录取分数线,商丘市第一高级中学537分,商丘市回民中学476分,更多分数线如下:

  • 公园的健身器材都有什么(这些公园里的健身器材你都见过)

    跟着小编一起来看一看吧!公园的健身器材都有什么

  • 吃猕猴桃舌头麻怎么办(吃了猕猴桃舌头麻是怎么回事)

    吃猕猴桃舌头麻怎么办吃猕猴桃出现舌头麻的现象,可以马上用水漱漱口,直到发麻感消除为止。如果发麻的感觉持续一天没有缓解,就最好及时就医检查。未成熟的猕猴桃最好催熟后再食用。另外,有的过敏体质的人群对猕猴桃也可能产生过敏现象,吃猕猴桃后出现舌头发麻,喉咙痒的现象,过量食用还可能发展成口腔粘膜水肿。可以将未软熟的猕猴桃放在塑料袋里密封好,放置五天左右,即可自然熟化。

  • 爱祖国爱家乡诗句(爱祖国爱家乡)

    我认为每一个人都有热爱生养自己的家乡的朴素的情感,爱国也是这样的,况且我们从小就接受了很多的爱国主义教育我就是一乡下平民,没有去国外的资本条件和想法,我希望我们国家的社会管理越来越科学合理,国家越来越强大,人民越来越幸福,今天小编就来说说关于爱祖国爱家乡诗句?爱祖国爱家乡诗句我认为每一个人都有热爱生养自己的家乡的朴素的情感,爱国也是这样的,况且我们从小就接受了很多的爱国主义教育。