假设我有3个文件要存储在HDFS中,并希望通过MapReduce读取它们。
因此,HDFS位置/omega/usecase/input中有3个文件作为file1.txt、file2.txt、file3.txt。
这3个文件的大小是file1.txt(64MB),file2.txt(32MB),file3.txt(1MB)
另外,假设默认块大小为64 is ,复制因子为3。
我想知道这3个文件有多少个块,如果我编写一个读取输入dir /omega/usecase/input的/omega/usecase/input程序,将执行多少个映射程序?
发布于 2015-07-15 17:05:57
HDFS中将有3个块(每个文件一个)。
每个块将被复制到三台不同的机器上。因此,它们将占用大约3倍的所有文件的大小= 3 * (64 + 32 + 1) MB。
执行M/R作业时,默认情况下将有3个映射器(每个块一个)。
发布于 2015-07-15 17:06:00
3块每个文件一个(块只是一个逻辑分离)。
三个映射程序,每块一个。
https://stackoverflow.com/questions/31436552
复制相似问题