尝试制定与普通“字数统计”示例不同的Hadoop作业。我的输入数据的格式为:

makePush,1964
makePush,459
makePush,357
opAdd,2151
opAdd,257
opStop,135

我想将它们传递给Mapper(),然后传递给Reducer()函数,但是我在规范方面遇到麻烦,即
Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>

因此,举例来说,opAdd将是KEYIN257将是VALUEIN。随后,所有opAdd的总和将是KEYOUT,而相关数字的总和将是VALUEOUT,这有意义吗?

但是,如何以编程方式实现呢?在我看来,它与理论上的“字数统计”示例并没有太大区别。

最佳答案



不,键将是LongWritable,它是文件中的偏移标记,用于指定当前 map task 正在读取文件的位置。

值将是Text,这将是opAdd,257的整行,您将使用toString().split(",")来分隔数据

10-01 05:24