hadoop - mapreduce 程序中总是需要 mapper 函数?

标签 hadoop mapreduce mapper

我正在尝试开发一个 hadoop mapreduce 程序来计算文本文件中的最高温度。

输入文本文件如下所示:

城市 1 - 10

城市 2 - 15

城市 3 - 4

城市 4 - 20

我是 mapreduce 的初学者,但我读到过 mapper,输出应该是转换为有意义的键值对的输入。但是如果我已经有一个像下面这样的输入文件,我不需要写一个映射器文件(因为已经有了键值对)??

城市 10

城市 2 15

城市 3 4

城市 4 10

我试图开发映射器文件,但我不明白在这种情况下是否真的有必要。

代码:

for line in sys.stdin:

    line = line.strip()
    print line

最佳答案

是的,它总是需要的。映射器仅用于保证缩减器接收排序和分区的输入。

这是一个框架设计选择,Hadoop 需要设置映射器。在您的示例中,您可以使用标准的 Mapper/IdentityMapper

关于hadoop - mapreduce 程序中总是需要 mapper 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29583058/

相关文章:

高内存机器上的Hadoop单节点配置

java - 在Bluemix上公开自己的服务,该服务在后台使用Hadoop MapReduce?

hadoop - 提高从 hdfs 导出 sqoop 的效率

hadoop - 为什么不为 hadoop TeraSort 映射器/ reducer

hadoop - 在 Amazon EMR 中,核心实例、映射器和映射槽之间是什么关系?

hadoop - Flink 1.6存储在.in-progress中的接收器HDFS文件

postgresql - 用于 spark/hadoop 的 Postgres 适配器增加了什么值(value)?

hadoop - 不止一个 Reducer 和一个输出文件

hadoop - 无法启动namenode.java.lang.IllegalStateException

hadoop - 在集群上运行mapreduce程序时,输入路径被视为输出路径