在运行mapreduce作业时,我得到如下输出:
11/09/15 21:35:16 INFO mapreduce.Job: Counters: 24
File System Counters
FILE: Number of bytes read=255967
FILE: Number of bytes written=397273
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
Map-Reduce Framework
Map input records=5
Map output records=5
Map output bytes=45
.......
第一行写的是Counters: 24。我在哪里可以找到更多关于这些计数器的信息。
我最感兴趣的是大读操作=0,这些是什么?
如果有人对这些有任何了解或参考,请回复。
谢谢。
我建议你看一下Tom White的Hadoop书,特别是第8.1章,他给出了计数器及其含义的详细列表。你可以在这里找到在线版本。
对于大的读操作,它对应于大目录下列表文件等文件系统大的读操作次数。它是在HADOOP-6859中引入的,描述如下:在文件系统上,除了用于大目录的listFiles操作外,大多数操作都很小。迭代listFiles在HDFS中被引入,用于将单个大操作分解为更小的步骤。当列出大目录下的文件时,此计数器在每次迭代listFiles时递增。
这张票也解释了其他一些新的计数器:
- 读取操作 -读取操作的次数,如listStatus, getFileBlockLocations, open等
- 写操作 -写操作的次数,如create, append, setPermission等
我建议您看一下FileSystem.Statistics
类,它详细说明了这里描述的一些额外的文件系统计数器