假设我有3个文件想要存储在HDFS中,并希望通过MapReduce读取它们。
因此,在HDFS位置/omega/usecase/input
中有3个文件:file1.txt,file2.txt,file3.txt
这3个文件的大小是file1.txt(64MB),file2.txt(32MB),file3.txt(1MB)
还假设默认块大小为64MB,复制因子为3
我想知道这3个文件会有多少块,如果我写一个MapReduce程序来读取输入目录/omega/usecase/input
HDFS中将有3个块(每个文件一个)。
这些块中的每一个将被复制到三台不同的机器上。因此,它们将大约占用所有文件大小的3倍= 3 * (64 + 32 + 1) MB
。
当您执行M/R作业时,默认会有3个映射器(每个块一个)
每个文件3个块(块只是一个逻辑分隔)。