2013-05-22 70 views
4

虽然运行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,这些是什么?
如果任何人有任何关于这些知识或参考,请回复。

谢谢。

回答

5

我建议你看看Tom White's Hadoop book,特别是第8.1章,他给出了计数器的详细清单及其含义。你可以找到一个在线版本here

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

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

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

我建议你看看FileSystem.Statistics类的细节s所描述的一些额外的文件系统计数器here

+0

你的答案根本没有帮助,没有找到任何关于大型阅读操作。不管怎么说,还是要谢谢你。 –

+0

你读过我的最后一个链接了吗?它声明:“getLargeReadOps() - >获取大型文件系统读取操作的数量,如大型目录下的列表文件”。真的没有比这更精确的了...... –

+0

获取大型文件系统读取操作的数量,例如大型目录下的列表文件....我之前已经看到,但我对于什么是“大目录“。 –

相关问题