在Hadoop的mapper类中,有4个主要的函数,分别是:setup,clearup,map,run。代码如下:
- protected void setup(Context context) throws IOException, InterruptedException {
- // NOTHING
- }
-
- protected void map(KEYIN key, VALUEIN value,
- Context context) throws IOException, InterruptedException {
- context.write((KEYOUT) key, (VALUEOUT) value);
- }
-
- protected void cleanup(Context context) throws IOException, InterruptedException {
- // NOTHING
- }
-
- public void run(Context context) throws IOException, InterruptedException {
- setup(context);
- while (context.nextKeyValue()) {
- map(context.getCurrentKey(), context.getCurrentValue(), context);
- }
- cleanup(context);
- }
- }
复制代码
由上面的代码,我们可以了解到,当调用到map时,通常会先执行一个setup函数,最后会执行一个cleanup函数。而默认情况下,这两个函数的内容都是nothing。因此,当map方法不符合应用要求时,可以试着通过增加setup和cleanup的内容来满足应用的需求。
加入qq群(号码:39327136),讨论云技术,获取最新资讯资源等
|