我正在尝试开发一个hadoop mapreduce程序来计算文本文件中的最高温度。
输入文本文件如下所示:
City1 - 10
City2 - 15
City3 - 4
city4 - 20
我是mapreduce的初学者,但我用mapper读取,输出应该是在有意义的键值对中转换的输入。但是,如果我已经有一个像下面这样的输入文件,我不需要写一个mapper文件(因为已经有了键值对)??
City1 10
City2 15
City3 4
city 4 10
我正在尝试开发映射器文件,但我不明白在这种情况下是否真的有必要。
代码:
for line in sys.stdin:
line = line.strip()
print line
答案 0 :(得分:1)
是的,总是需要的。映射器仅用于保证reducer接收已排序和分区的输入。
这是一个框架设计选择,Hadoop需要设置您的映射器。在您的示例中,您可以使用标准Mapper
/ IdentityMapper
。