块和映射器基于文件大小

时间:2015-07-15 16:57:39

标签: hadoop mapreduce hdfs

假设我有3个文件要存储在HDFS中,并希望通过MapReduce读取它们。

因此,HDFS位置.rightcont内有3个文件,分别为file1.txt,file2.txt,file3.txt

这3个文件的大小为/omega/usecase/input

还假设默认块大小 64MB 且复制因子为3

我想知道这三个文件有多少个块,如果我编写一个读取输入目录的MapReduce程序file1.txt(64MB),file2.txt(32MB),file3.txt(1MB)

,将执行多少个映射器

2 个答案:

答案 0 :(得分:0)

HDFS中将有3个块(每个文件一个)。

这些块中的每一个都将被复制到三台不同的机器上。因此,它们大约占所有文件大小的3倍= 3 * (64 + 32 + 1) MB

执行M / R作业时,默认情况下会有3个映射器(每个块一个)。

答案 1 :(得分:0)

每个文件3个块(块只是一个逻辑分隔)。

每个块有三个映射器进程。