Mapper的四个方法

(1) protected void setup(Context context)

一般用来加载一些初始化的工作,每个job执行一次

protected void setup(Context context) throws IOException,InterruptedException {
            blacklist=new TreeSet<String>();
            try{
              FileReader fileReader=new FileReader(blacklistFileName);
              BufferedReader bufferedReader=bew BufferedReader(fileReader);
              String str;
              while((str=bufferedReader.readLine())!=null){
                blacklist.add(str);
              }
            } catch(IOException e){
                e.printStackTrace();
            }
        } 

(2) Protected void map(KEYIN key,VALUEIN value,Context context)

(3) protected void cleanup(Context context)

方法是收尾工作,如关闭文件或者执行map()后的键值分发等,每个job执行一次。比较适合用来算全局最大值之类的任务

@Override
    protected void cleanup(Mapper<LongWritable, Text, LongWritable, NullWritable>.Context context)
            throws IOException, InterruptedException {
        context.write(new LongWritable(max), NullWritable.get());
    }

(4) public void run(Context context)

猜你喜欢

转载自blog.csdn.net/weixin_44033089/article/details/86519577