2015-11-10 34 views
0

在Hadoop MapReduce中,中间输出(地图输出)保存在本地磁盘中。我想知道是否可以在reduce阶段开始一项工作,从本地磁盘读取mapoutput,对数据进行分区并执行reduce任务?仅仅是减速阶段的工作?

回答

3

Mapper的一个基本实现叫做IdentityMapper,它基本上将所有的键值对传递给一个Reducer。

  • Reducer将由不同映射器生成的输出作为pair读取并发出键值对。
  • Reducer的工作是处理来自映射器的数据。
  • 如果MapReduce程序员不使用JobConf.setMapperClass设置Mapper类,那么IdentityMapper.class被用作默认值。

你不能只运行异径没有任何映射器..

+0

我无法找到身份映射器的任何实例。我使用了Google,或者使用github。你能指点我吗? – xeon

0

映射reduce对HDFS中的数据起作用。所以我不认为你可以写Reducer only map reduce从本地磁盘读取

0

如果你使用Hadoop的数据流,你可以添加:

-mapper "/bin/sh -c \"cat\"" 
相关问题