基于文件大小的块和映射器



假设我有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个块(块只是一个逻辑分隔)。

最新更新