有些情况下,我不需要遍历Map任务中的每个输入记录。例如,在每个Map器中,我最多只能从满足特定条件的200条记录中发出,然后它就可以退出了。我能用hadoop做这个吗?在api文档中找不到相关方法。
aydmsdu91#
您可以通过重写 run 方法。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循环。
map()
1条答案
按热度按时间aydmsdu91#
您可以通过重写
run
方法。run方法当前看起来像:
这就是标准
map()
正在调用方法。你可以在那里添加一个计数器,一旦它达到200,就可以跳出while循环。