如何在hadoop中选择最上面的行?

如何在hadoop中选择最上面的行?,hadoop,mapreduce,cascading,hadoop-partitioning,input-split,Hadoop,Mapreduce,Cascading,Hadoop Partitioning,Input Split,我正在从Hadoop读取一个138MB的文件,并试图为每条记录分配序列号。下面是我采用的方法 我使用层叠读取整个文件,为每个记录分配了当前切片号和当前记录计数器。这将为每个块并行运行,并根据存在的块分配唯一的序列号和切片号,即文件的块0应转到映射器编号0,切片号应为“0”,对于块1,映射器编号1将切片号分配为“1”(级联中的切片与MapReduce中的输入拆分相同)。另外,片号为“0”的记录应该比片号为“1”的记录大得多,因为块0将为128 MB,块1将为10 MB 但当我看到输出时,我看到两组

我正在从Hadoop读取一个138MB的文件,并试图为每条记录分配序列号。下面是我采用的方法

我使用层叠读取整个文件,为每个记录分配了当前切片号和当前记录计数器。这将为每个块并行运行,并根据存在的块分配唯一的序列号和切片号,即文件的块0应转到映射器编号0,切片号应为“0”,对于块1,映射器编号1将切片号分配为“1”(级联中的切片与MapReduce中的输入拆分相同)。另外,片号为“0”的记录应该比片号为“1”的记录大得多,因为块0将为128 MB,块1将为10 MB

但当我看到输出时,我看到两组记录的输入记录数几乎相同,即记录平均分布在两个映射器中

我还可以看到文件的第一条记录是由mapper1而不是mapper0读取的

你能帮我理解为什么记录在地图绘制者之间被平均分配吗