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

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

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

介绍计数器是收集作业统计信息的有效手段之一,用于质量控制或应用级统计。计数器还可辅助诊断系统故障。如果需要将日志信息传输到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);

如下图所示:

执行效果如下:

,
    推荐阅读
  • 如何办理etc(办理etc的流程)

    如何办理etcETC办理有多种方式:高速路口处、银行营业厅、银行APP、支付宝、微信等互联网平台等,使用对应的银行APP即可办理。详细办理流程如下:按照提示填写正确的车牌号码信息。填写车主本人手机号及身份信息。进行车牌的校验,然后根据普通汽车或新能源汽车来选择自己的牌照颜色。检验身份信息,提供车辆行驶证图片,并保证清晰,以免要进行返工。填写完相关的信息就等审核结果,审核1-3天,审核通过后2-5内就能收到快递。

  • 世界上最小的岛国哪个国家(全球最小的岛国)

    宽4公里,陆地面积仅为21.1平方公里,是世界上最小的岛国。它既是岛屿又是国家,常住人口达1.3万人,还是一个快乐之岛。人们常把它称为漂浮在太平洋上的小岛,所以想要顺利抵达小岛的话,必须乘船才可以。据了解这里居民的肥胖率已经高达百分之90多了。原因是岛国的福利待遇好,无论是医疗还是教育都全免。这就是世界上最小的岛屿,生活待遇好节奏慢,风景也绝佳。

  • 孙尚香台词(孙尚香台词精选)

    下面更多详细答案一起来看看吧!孙尚香台词永远不对弱者下手。来杯牛奶,谢谢。瞄准你的生命终点,火力全开。送你一个轰轰烈烈的退场,感谢本小姐大恩大德吧。野外徘徊的可怜家伙,能够收获的只有炮火。有什么一闪而过,那是击中你的炮火。你不是我要找的人。除了炮弹,本小姐没别的跟你们交流了。雨天,正适合重温老电影。华丽的末日大片,由本小姐主演。

  • 有你才有家杨悦结局(有你才有家剧情简介)

    有你才有家杨悦结局《有你才有家》里江玉华和杨悦离婚了,厂长被撤了,家没有了。杨悦受到了应有的报应。玉华错嫁虐待狂,几经折磨,最后以自杀逃离魔掌。家福从小酷爱曲艺,但他在选择职业和婚恋上受到父亲的严重阻挠,引起激烈的冲突。儿女们为了躲他搞了个家外家和二女儿自杀事件,才引起万祥强烈的反思,他努力改变自己,才使家庭走向了和谐与美满。

  • 洋葱不能吃的三种食物(避开洋葱的饮食宜忌)

    洋葱还富含抗氧化剂类黄酮,平时常吃有助于预防心脏病发作。多项研究发现,吃洋葱有助于增强骨密度,对骨密度降低的绝经女性尤其重要。另有研究表明,绝经妇女每天吃洋葱可降低髋骨骨折危险。洋葱具有重要的抗炎作用。洋葱中的抗氧化物质对人体抗击炎症起到重要作用。多项研究证实,适当食用洋葱可降低肠癌、喉癌和卵巢癌等多种癌症风险。多项研究发现,常吃洋葱还可以改善血糖水平,防止细菌感染。

  • 香菇几分钟能煮熟(香菇要煮多久)

    香菇分为干香菇和鲜香菇,两者由于本身质的区别,因此煮熟的时间也有所不同。鲜香菇:鲜香菇是直接采摘的新鲜香菇,水分和营养物质保存比较完整,通常煮5-8分钟即可煮熟。香菇是我国著名的食用菌,被人们誉为“菇中皇后”,在民间素有“山珍”之称,深受人们的喜爱,是不可多得的理想的保健食。

  • 鸭脚木冬季修剪方法(鸭脚木冬季能修剪吗)

    方法很简单,只要及时将过密的枝叶,或者生长不均匀过长的枝条剪掉即可。鸭脚木已经生长了7年,已经疯长,外观已经乱的不成样子,严重影响美观。换盆时,修剪老根,将过高的枝条剪短,促进新枝萌发。另外还可将外扩的枝条用绳子捆扎,使其向上生长。许多家庭中的鸭脚木都是扦插得来的,枝干的基部叶片较少,并且随着时间增长会越来越长,影响美观。

  • 显示器tn屏与ips屏(DIY电脑你经常认为的一些误区)

    因为色彩还原非常准确,很多设计类的小伙伴显示器都是IPS屏幕,缺点也有,IPS漏光不是个别现象,几乎是不可避免的。至于AdobeRGB是SRGB的升级,AdobeRGB提供了更宽广的色彩范围,但是说实话除了作图的基本我们都用不到。

  • 国外美食制作引爆你的味蕾(你常吃的这道菜征服了好多老外的胃)

    ▌本文来源:央视新闻综合“宫保鸡丁”是一道有名的川菜,然而最近这道菜却在俄罗斯圣彼得堡走红,被当地媒体评为2017年度最受欢迎的三道外国菜之一。在很多网络票选中,宫保鸡丁位居外国人最喜欢的十大中国菜前三位。那些喜爱宫保鸡丁的政要外国政要来访中国,宫保鸡丁也几乎成了必点菜式。2013年底,美国前驻华大使骆家辉到成都,专门去到一家私家菜馆吃饭,就是麻婆豆腐和宫保鸡丁。

  • 烤五花肉做法家庭版不要烤肉料(秘制酱烤五花肉)

    酱烧五花肉的秘制酱料是精髓,备好材料用果汁机或料理机打匀,就已完成最困难的部分。处理肉块也得到一锅油脂香甜的猪油拌饭。一次就做出韩式酱烧五花肉和猪油拌饭,超有成就感!