我是hadoop mapreduce的新手。我想开发mapreduce代码,用于转换大小写文件的文本。但是文件中的顺序与文件中的顺序相同。这意味着文件的实际顺序而不是类似于wordcount数据序列。所以可以给我一些想法吗?
答案 0 :(得分:1)
只需逐行读取文件,然后将其作为键值<< LineNumber,UPPERCASEOFLINE>> ,因此每行的大写将成为reducer的值(只有一个元素的列表)。
现在您要做的就是将值(每个键的单行)发送为reducer的键,并且可以将reducer 值设置为NullWritable。
对于每一行输入,mapper中的LineNumber 以1为增量开始。 还要覆盖isSplitable()以返回false,以便使一个文件完全由一个映射器处理。