我正在使用mapreduce在mapper阶段训练一些模型。为此,我需要在mapper阶段找到最后一行输入。为此,我使用以下函数: Context.nextKeyValue()
返回布尔值: True
如果在和之后有值 False
否则。
在我的例子中,我的数据在hdfs中被分成6个不同的块。其中5个大小相同,最后一个小一点。我们知道每个制图员只在一个街区工作。
当我尝试这个函数时 Context.nextKeyValue()
,它适用于5个第一个Map器(具有相同块大小的Map器),但不适用于函数始终返回的最后一个Map器 True
!
我读到关于这个机制:
public void run(Context context) throws IOException, InterruptedException{
setup(context);
while(context.nextKeyValue()){
map(context.setCurrentKey(),context.getCurrentValue(),context)
}
cleanup(context);
}
我的问题是,我做错什么了吗?有人知道发生了什么吗?
提前谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!