File System Counters
FILE: Number of bytes read=219712810984
FILE: Number of bytes written=312072614456
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
HDFS: Number of bytes read=100000061008
HDFS: Number of bytes written=100000000000
HDFS: Number of read operations=2976
HDFS: Number of large read operations=0
2条答案
按热度按时间bq3bfh9z1#
这是作业的hdfs分布、map阶段和reduce阶段的总计数器。
正如您所观察到的,这些计数器是文件字节和hdfs字节的总和。hadoop使用逻辑文件系统hdfs在集群上共享资源。
6ojccjat2#
所以答案是你所注意到的是特定于工作的。与hdfs相比,Map器/还原器将根据作业向本地文件写入更多或更少的字节。
在mapper中,从本地和hdfs位置读入的数据量相似,没有问题。Map程序代码恰好需要在本地读取与从hdfs读取的数据量相同的数据量。大多数情况下,Map器都被用来分析超过其ram的数据量,因此看到它可能将从hdfs获得的数据写入本地驱动器也就不足为奇了。从hdfs和local读取的字节数并不总是看起来等于local write大小(在您的例子中甚至没有)。
下面是一个使用terasort的示例,包含100g数据、10亿个键/值对。
注意事项。从hdfs读取和写入的字节数几乎正好是100g。这是因为100g需要排序,最后排序的文件需要写入。还要注意,它需要进行大量的本地读/写来保存和排序数据,是它读取数据量的2倍和3倍!
最后,除非您只想运行作业而不关心结果。写入的hdfs字节数不应为0,而您的字节数为
HDFS_BYTES_WRITTEN 0