我能够成功地更改 hadoop 中的wordcount程序以满足我的要求。但是,我还有另一种情况,我对 3 个值使用相同的键。假设我的输入文件如下。
A Uppercase 1 firstnumber I romannumber a lowercase
B Uppercase 2 secondnumber II romannumber b lowercase
目前在我的 map/reduce 程序中,我正在做类似下面的事情。这里 A 是键,1 是值。
A 1
我需要我的 map reduce 来执行类似下面的操作。
A 1 I a
我可以在下面的 3 个不同程序中执行它们,并且可以产生输出。
A 1
A I
A a
但是,我希望他们在一个程序本身中完成。基本上,从我的地图功能我想这样做。
context.write(key,value1);
context.write(key,value2);
context.write(key,value3);
有什么办法可以在同一个程序中完成,而不是编写三个不同的程序?
编辑:
让我提供一个更清楚的例子。我需要做类似下面的事情。
A uppercase 1 firstnumber 1.0 floatnumber str stringchecking
A uppercase 2 secondnumber 2.0 floatnumber ing stringchecking
我的最终输出是,
A 3 3.0 string
3 是两个整数之和,3.0 是浮点数之和,字符串是两个字符串的串联。