我对hadoop很陌生。我已经完成了字数统计,现在我想做一个修改。
我想获取文本文件中出现次数最多的单词。如果,正常的字数统计程序给出一个输出:
a 1
b 4
c 2
我想编写只给我输出的程序
b 4
这是我的减速器功能::
public static class Reduce extends Reducer<Text, IntWritable, Text, IntWritable>
{
int max_sum=0;
Text max_occured_key;
public void reduce(Text key, Iterable<IntWritable> values, Context context)
throws IOException, InterruptedException
{
int sum = 0;
for (IntWritable val : values)
{
sum += val.get();
}
if(sum > max_sum)
{
max_sum = sum;
max_occured_key = key;
}
context.write(max_occured_key, new IntWritable(max_sum));
//context.write(key, new IntWritable(sum));
}
}
但它没有给出正确的输出。有人可以帮忙吗?