我对 Hadoop 很陌生。我编写了一个 MapReduce 程序,它解析输入文件并提取特定模式作为键及其值。我可以轻松地减少它,最终输出是一个包含一对键和值的文件。
public class EReducer extends MapReduceBase implements Reducer<Text, Text, Text, Text>
{
private Text outputKey1 = new Text();
private Text outputValue1 = new Text();
public void reduce(Text equipKey1, Iterator<Text> equipValues1,
OutputCollector<Text, Text> results1, Reporter reporter1) throws IOException {
String output1 = "";
while(equipValues1.hasNext())
{
Text equi= equipValues1.next();
output1 = output1 + equi.toString();
}
outputKey1.set(equipKey1.toString());
outputValue1.set(output1);
results1.collect(outputKey1, outputValue1);
}
问题是,在文件的开头,我需要将特定键的键总数和值的总数显示为聚合。
键:日期
价值:发生的事情。
就像是
12/03/2013 CMB ate pizza
He went to a mall
He met his friend
在 2013 年 12 月 3 日这一天总共发生了 3 件事情。就像会有一组日期和事件。
最后我应该显示,在“日期”日期有“这个数量的行动”。在 2013 年 3 月 12 日等日期有 3 项行动......
我怎样才能做到这一点?任何帮助,将不胜感激。!