【MapReduce】Mapreduce基础知识整理 (六) 全局计算器

本文介绍了MapReduce中的全局计数器,包括任务计数器和作业计数器的种类,如MapReduce任务计数器、文件系统计数器、FileInputFormat和FileOutputFormat计数器,并详细讲解了如何自定义计数器进行数据统计。
摘要由CSDN通过智能技术生成

1. 什么是全局计数器

计数器是用来记录job的执行进度和状态的。它的作用可以理解为日志。我们可以在程序的某个位置插入计数器,记录数据或者进度的变化情况。

MapReduce 计数器(Counter)为我们提供一个窗口,用于观察 MapReduce Job 运行期的各种细节数据。对MapReduce性能调优很有帮助,MapReduce性能优化的评估大部分都是基于这些 Counter 的数值表现出来的。

例如wordcount过程中,统计输入数据条数:
4个小文件,4个maptask
wc0.txt——maptask0——27
wc1.txt——maptask1——27
wc2.txt——maptask2——27
wc3.txt——maptask3——27
输入数据条数=4个maptask输入条数之和 27*4=108

观察下边输出 Map input records=108

mpareduce中的默认的计数器统计的参数:
每一个mapreduce的job执行完成都会有一个计数器统计的报文:
	File System Counters   文件系统的计数器  文件系统的读写字节
		FILE: Number of bytes read=6761
		FILE: Number of bytes written=1510365
		FILE: Number of read operations=0
		FILE: Number of large read operations=0
		FILE: Number of write operations=0
		HDFS: Number of bytes read=8736
		HDFS: Number of bytes written=75
		HDFS: Number of read operations=46
		HDFS: Number of large read operations=0
		HDFS: Number of write operations=7
	Map-Reduce Framework  mapreduce计算框架的计数器
		Map input records=108   map的输入的数据条数
		Map output records=552  map输出的数据条数  context.write()调用的次数  单词的个数552
		Map output bytes=4704  map的输出的字节
		Map output materialized bytes=440   map输出的元数据字节
		Input split bytes=360  输入切片的大小
		
		
		Combine input records=552   combine输入的数据条数=map输出
		Combine output records=40   combine输出的数据条数=reduce的输入
		
		
		Reduce input groups=10   reduce的输入的数据组
		Reduce shuffle bytes=440  
		Reduce input records=40
		Reduce output records=10  reduce的输出的数据条数
		
		
		Spilled Records=80  溢写的数据条数  40原始数据  40元数据
		Shuffled Maps =4
		Failed Shuffles=0
		Merged Map outputs=4
		GC time elapsed (ms)=10
		Total committed heap usage (bytes)=2426929152
	Shuffle Errors  shuffle错误的计数器
		BAD_ID=0
		CONNECTION=0
		IO_ERROR=0  IO是否有错误
		WRONG_LENGTH=0
		WRONG_MAP=0
		WRONG_REDUCE=0
	File Input Format Counters 
		Bytes Read=2496
	File Output Format Counters 
		Bytes Written=75
		

2. 常用全局计数器

MapReduce 自带了许多默认Counter,现在我们来分析这些默认 Counter 的含义,方便大家观察 Job 结果,如输入的字节数、输出的字节数、Map端输入/输出的字节数和条数、Reduce端的输入/输出的字节数和条数等。下面我们只需了解这些内置计数器,知道计数器组名称(groupName)和计数器名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值