Counters: 44
File System Counters
FILE: Number of bytes read=655771325
FILE: Number of bytes written=984244425
FILE: Number of read operations=0 FILE: Number of large read operations=0 FILE: Number of write operations=0 HDFS: Number of bytes read=260407668 HDFS: Number of bytes written=17681802 HDFS: Number of read operations=37 HDFS: Number of large read operations=0 HDFS: Number of write operations=10 Job Counters Launched map tasks=4 Launched reduce tasks=5 Other local map tasks=1 Data-local map tasks=3 Total time spent by all maps in occupied slots (ms)=60987 Total time spent by all reduces in occupied slots (ms)=50362 Map-Reduce Framework Map input records=1152870 Map output records=22472940 Map output bytes=282888289 Map output materialized bytes=327843405 Input split bytes=1173 Combine input records=0 Combine output records=0 Reduce input groups=579532 Reduce shuffle bytes=327843405 Reduce input records=22472940 Reduce output records=579532 Spilled Records=67418820 Shuffled Maps =20 Failed Shuffles=0 Merged Map outputs=20 GC time elapsed (ms)=2826 CPU time spent (ms)=69670 Physical memory (bytes) snapshot=2287190016 Virtual memory (bytes) snapshot=7904223232 Total committed heap usage (bytes)=1572864000 Shuffle Errors BAD_ID=0 CONNECTION=0 IO_ERROR=0 WRONG_LENGTH=0 WRONG_MAP=0 WRONG_REDUCE=0 File Input Format Counters Bytes Read=0 File Output Format Counters Bytes Written=17681802
Counters: 44表示计数器总共44个,粉色表示计数器种类,即6类。
1). File System Counters:MR-Job执行依赖的数据来自不同的文件系统,这个group表示job与文件系统交互的读写统计
- HDFS: Number of bytes read=260407668 //map从HDFS读取数据,包括源文件内容、split元数据。所以这个值比FileInputFormatCounters.BYTES_READ 要略大些。
- FILE: Number of bytes written=984244425 //表示map task往本地磁盘中总共写了多少字节(其实,Reduce端的Merge也会写入本地File)
- FILE: Number of bytes read=655771325 //reduce从本地文件系统读取数据(map结果保存在本地磁盘)
- HDFS: Number of bytes written=17681802 //最终结果写入HDFS
2). Job Counters:MR子任务统计,即map tasks 和 reduce tasks
- Launched map tasks=4 //启用map task的个数
- Launched reduce tasks=5 //启用reduce task的个数
3). Map-Reduce Framework:MR框架计数器
- Map input records=1152870 //map task从HDFS读取的文件总行数
- Reduce input groups=579532 //Reduce输入的分组个数,如<hello,{1,1}> <me,1> <you,1>。如果有Combiner的话,那么这里的数值就等于map端Combiner运算后的最后条数,如果没有,那么就应该等于map的输出条数
- Combine input records=0 //Combiner输入 = map输出
- Spilled Records=67418820 //spill过程在map和reduce端都会发生,这里统计在总共从内存往磁盘中spill了多少条数据
4). Shuffle Errors:
5). File Input Format Counters:文件输入格式化计数器
Bytes Read=0 //map阶段,各个map task的map方法输入的所有value值字节数之和
6). File Output Format Counters:文件输出格式化计数器
Bytes Written=17681802 //MR输出总的字节数,包括【单词】,【空格】,【单词个数】及每行的【换行符】
自定义计数器
//自定义计数器<Key , Value>的形式
Counter counter = context.getCounter("查找hello", "hello");
if(string.contains("hello")){
counter.increment(1l);//出现一次+1
}