Java 我可以通过hadoop中的代码提前完成映射任务吗?

Java 我可以通过hadoop中的代码提前完成映射任务吗?,java,hadoop,mapreduce,hadoop2,Java,Hadoop,Mapreduce,Hadoop2,有些情况下,我不需要遍历映射任务中的每个输入记录。例如,在每个映射器中,我最多只能从满足特定条件的200条记录中发出,然后它就可以退出 我可以在hadoop中这样做吗?尚未在api文档中找到相关方法。您可能可以通过覆盖中的run方法来实现这一点 run方法当前看起来像: public void run(Context context) throws IOException, InterruptedException { setup(context); try {

有些情况下,我不需要遍历映射任务中的每个输入记录。例如,在每个映射器中,我最多只能从满足特定条件的200条记录中发出,然后它就可以退出


我可以在hadoop中这样做吗?尚未在api文档中找到相关方法。

您可能可以通过覆盖中的
run
方法来实现这一点

run方法当前看起来像:

public void run(Context context) throws IOException, InterruptedException {
    setup(context);
    try {
        while (context.nextKeyValue()) {
            map(context.getCurrentKey(), context.getCurrentValue(), context);
        }
    } finally {
        cleanup(context);
    }
}

这就是调用标准
map()
方法的方式。您可以在其中添加一个计数器,一旦达到200,就可以中断while循环。

这正是我需要的。