哪里可以找到有关Mapreduce中文件系统计数器的信息

时间:2013-05-22 12:55:26

标签: hadoop mapreduce

在运行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
 .......

在第一行中,它表示计数器:24。 我在哪里可以找到有关这些计数器的更多信息。

我最感兴趣的是大型读取操作= 0 ,这些是什么?
如果有人对此有任何了解或参考,请回复。

感谢。

1 个答案:

答案 0 :(得分:5)

我建议你看一下Tom White's Hadoop book,尤其是第8.1章,他会详细列出计数器及其含义。您可以找到在线版here

对于大型读取操作,它对应于大型文件系统读取操作的数量,例如大型目录下的列表文件。它在HADOOP-6859中引入,其中描述如下:在文件系统上,除了大型目录的listFiles之外,大多数操作都很小。在HDFS中引入了迭代listFiles,将单个大型操作分解为更小的步骤。当在大目录下列出文件时,此计数器会针对listFiles的每次迭代递增。

这张票还解释了其他一些新的计数器:

  • 读取操作 - 读取操作的数量,例如listStatus,getFileBlockLocations,open等。
  • 写入操作 - 创建,追加,setPermission等写入操作的数量。

我建议你查看FileSystem.Statistics类,其中详细介绍了here所述的其他文件系统计数器