尝试制定与普通“字数统计”示例不同的Hadoop作业。我的输入数据的格式为:
makePush,1964
makePush,459
makePush,357
opAdd,2151
opAdd,257
opStop,135
我想将它们传递给
Mapper()
,然后传递给Reducer()
函数,但是我在规范方面遇到麻烦,即Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
因此,举例来说,
opAdd
将是KEYIN
,257
将是VALUEIN
。随后,所有opAdd
的总和将是KEYOUT
,而相关数字的总和将是VALUEOUT
,这有意义吗?但是,如何以编程方式实现呢?在我看来,它与理论上的“字数统计”示例并没有太大区别。
最佳答案
不,键将是LongWritable,它是文件中的偏移标记,用于指定当前 map task 正在读取文件的位置。
值将是Text,这将是opAdd,257
的整行,您将使用toString().split(",")
来分隔数据