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

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);

如下图所示:

执行效果如下:

,
    推荐阅读
  • 别克gl6上坡辅助怎么开启 奔驰glc上坡辅助怎么开启

    此时上坡辅助系统生效,刹车灯会自动亮起。车上安装的上坡辅助系统是为了防止上坡起步困难而设置的。当汽车上坡时,辅助系统会制动汽车的四个车轮,防止汽车下滑。如果是手动挡车型,需要将车的刹车踏板踩到底,这样才能启动上坡辅助系统,然后慢慢松开车的离合踏板。因为上坡辅助系统已经启动,踩油门就可以发动汽车了。上坡辅助系统的使用条件:换挡杆位于P以外的任意位置,指的是自动挡车型。车必须处于静止状态,不能用手刹。

  • 二胎时代剧情分集介绍(二胎时代1-5分集剧情介绍)

    陆晓东不便强行拉妻子金灿灿离开幼儿园,只得语气柔和对其动之以情晓之以理。韩丁弟媳于晓红趁机数落了杜娟几句,众人矛头一致对向杜娟,杜娟自知不对只得向韩母赔礼道歉。韩丁为了奖励杜娟卖掉微博,带其前往商场疯狂刷卡购物。有人举报陆晓东拿私人车票上报给公司财务,许总接到举报找陆晓东谈话,不肯在报销单上签字。陆母本来已经计划买下一套新房,因与金灿灿闹矛盾,暂停购房计划。

  • 人教版插画怎么引起热议(人教版插画释放信号)

    近日,人教版数学教材插画引热议,网友纷纷吐槽其人物插画“眼神奇怪”、“吐舌头”、“毫无美感”等,小学教材面对的受众是祖国的花朵,这些插画让花朵的审美受到了污染。既让学生了解到口技的精彩,又保护了青少年未成熟的心智。这种取舍之道,才是真正领悟了教育的精髓。个人认为,教育在进步,教改在进行,终有一天,会把治理教培的决心,用在治理这些教育乱象上!“不懂教育的人指挥教育”的闹剧,该谢幕了。

  • 天猫二选一是什么意思(“二选一”的行为违法吗)

    下面更多详细答案一起来看看吧!天猫二选一是什么意思天猫二选一是指逼迫平台商家二选一,停止在其他平台上的促销甚至经营活动,签订独家合作协议。比如说在天猫平台的商家只能够在天猫经营活动,禁止在京东做生意。二选一事件其实是由媒体提出来的,“二选一”是违法行为,不仅对我国电商发展有着极大负面影响,且对于消费者来说也有着巨大影响,可以说消费者是最终的受害者。

  • 简单的情话一句话(最暖心的情话短句)

    以下内容大家不妨参考一二希望能帮到您!如果全世界都对你恶语相向,我就对你说一世情话。然而,多希望你能感受我的情意。在夜深人静的时候想起他,说的那些话,还有一些撕心裂肺的情话。因为我知道当我爱上ta的那一刻,我就已经遇见了最好的自己。所有的想念和情话,承诺和倾慕,都是要负责任的。永远把自己当成个傻瓜,假装听不懂他说的情话。没有一种服装,比的爱更合身;没有一种装饰,比的爱更迷人。

  • 气象灾害预警信号的颜色等级顺序(气象灾害预警信号的颜色等级顺序介绍)

    气象灾害预警信号的颜色等级顺序新版气象灾害预警信号总体上分为蓝色、黄色、橙色和红色四个等级,分别代表一般、较严重、严重和特别严重。预警信号由名称、图标、标准和防御指南组成,分为台风、暴雨、暴雪、寒潮、大风、沙尘暴、高温、干旱、雷电、冰雹、霜冻、大雾、霾、道路结冰等。同时以中英文标识,与国家的所有应急处置等级和颜色保持一致。而台风、暴雨、寒冷3种预警信号的黑色预警信号成为历史,统一以红色为最高等级。

  • 4-50岁女士适合剪的发型(30-40岁的女性剪这4种发型)

    温柔空气卷发这种发型可以修饰脸型,增多发量,突显出自身的魅力,洋气又减龄。俏皮半扎发这是一款自带一种元气感,能够让好气质得到展现,并且还可以修饰脸型。从整体来看,这一款扎发发型尽显清爽与女生的俏皮感哦。赵薇的低马尾成熟慵懒。可以手指插进马尾,稍微挑动,让后脑勺的头发有个自然的蓬度。

  • 抚州游玩景点大全(抚州景点推荐)

    大觉山大觉山位于江西东部资溪县境内。法水温泉度假村江西省抚州市法水森林温泉度假村是一家以温泉休闲度假为特色的高档旅游度假酒店。全县土地总面积19.44万公项,其中林业用地面积15.09万公项,占土地总面积的77.6%。一日,吴僧迎来一位身骑白马的道长,二人对话片刻,见栓在寺外的白马腾空而起,道长也无踪无影。“文革”期间,白马寺被毁。自唐宋以来,用神功泉水酿制的米酒被列为贡品,献于皇室。

  • 微信乘车码怎么使用(微信乘车码使用方法)

    下面内容希望能帮助到你,我们来一起看看吧!微信乘车码怎么使用打开微信,在上方搜索框输入“乘车码”。点击“乘车码”小程序。在右上角切换城市,默认定位当前城市。继续点击“去开通”,勾选协议,立即开通,选择免密支付,完成开通步骤。乘车时,将乘车码对准机器扫码即可。

  • 体内湿气重吃什么调理(体内湿气重吃什么调理男人)

    白茅根清热利尿。本方特别适用于夏季贪凉而致的感冒,身困重,怕冷而心烦,头痛而无汗,或见腹痛吐泻者。常食有助于解除疲劳。湿气重有什么症状1、头部昏沉当身体内的湿气最初侵袭身体时,会使头部感觉到昏沉,就像被布裹住一样。