我正在从hadoop读取一个138mb的文件,并尝试为每个记录分配序列号。下面是我遵循的方法。
我使用层叠读取整个文件,为每个记录分配当前切片号和当前记录计数器。对于每个块,这将并行运行,并根据存在的块分配唯一的序列号和切片号,即文件的块0应转到Map器编号0,切片号为“0”,对于块1,Map器编号1将切片号分配为“1”(级联中的切片与mapreduce中的输入拆分相同)。另外,片号为“0”的记录应该大大多于片号为“1”的记录,因为块0将为128 mb,块1将为10 mb。
但是当我看到输出时,我看到两个集合有几乎相同数量的记录输入记录,即记录平均分布在两个Map器中。
我还可以看到文件的第一条记录是由mapper1而不是mapper0读取的。
你能帮我理解为什么记录在Map绘制者之间平均分布吗?
暂无答案!
目前还没有任何答案,快来回答吧!