Hadoop 我们是否在reducer类中编写自己的方法

Hadoop 我们是否在reducer类中编写自己的方法,hadoop,mapreduce,hdfs,Hadoop,Mapreduce,Hdfs,嗨,我正在reducer阶段创建一个哈希映射。。现在我想在其他函数中使用最终的hashmap。我的问题是,我们是否在reduce类中编写自己的方法(在这段代码中,它是ColocationReducer)以及我们在哪里调用该方法。默认情况下会调用reducer方法。。如果我们编写自己的方法,我们如何调用该方法 我们是否在mapreduce程序中与mapper一起编写另一个类,reducer类。。我们将作业设置为mapper和reducer类 job.setMapperClass(

嗨,我正在reducer阶段创建一个哈希映射。。现在我想在其他函数中使用最终的hashmap。我的问题是,我们是否在reduce类中编写自己的方法(在这段代码中,它是ColocationReducer)以及我们在哪里调用该方法。默认情况下会调用reducer方法。。如果我们编写自己的方法,我们如何调用该方法

我们是否在mapreduce程序中与mapper一起编写另一个类,reducer类。。我们将作业设置为mapper和reducer类

         job.setMapperClass(ColocationMapper.class);
         job.setReducerClass(ColocationReducer.class);
如果我再写一个类,它包含一个Display()方法,该方法显示我们在reducer类中创建的哈希映射的键值。如何调用此方法,以及在何处包含调用此Display()的代码

公共静态类ColocationReducer扩展了Reducer
{ 
Map hash=new HashMap();
公共void reduce(文本键、Iterable值、上下文上下文)引发IOException、InterruptedException{
列表查询=新建ArrayList();
字符串结果=”;
用于(文本值:值){
add(val.toString());
}
for(字符串str:querys){
结果=结果concat(str);
结果=result.concat(“”);
}
hash.put(key.toString(),查询);
编写(键,新文本(结果));
}
} 

我对“我想在其他函数中使用最终的hashmap”感到困惑,该函数的目的是什么?似乎您需要另一个mapreduce过程。因为我已经在reducer类中创建了hashmap,所以我想编写一个显示该hashmap的函数。
 public static class ColocationReducer extends Reducer <Text, Text, Text, Text>

 { 

          Map<String, List<String>> hash = new HashMap<String, List<String>>();
         public void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException {
            List<String> queries = new ArrayList<String>(); 
            String result=" ";
                for (Text val : values) {
                queries.add(val.toString());
                }

            for (String str : queries){
                result=result.concat(str);
                result=result.concat(" ");  
            }
            hash.put(key.toString(), queries);
                context.write(key,new Text(result));

            }
    }