在Hadoop MapReduce中,中间输出(映射输出)保存在本地磁盘中。我想知道是否可以只使用reduce阶段启动一项作业,从本地磁盘读取映射输出,对数据进行分区并执行reduce任务?
Mapper有一个名为IdentityMapper的基本实现,它本质上将所有键值对传递给一个Reducer。
- Reducer将不同映射器生成的输出成对读取,并发出键值对
- Reducer的工作是处理来自映射器的数据
- 如果MapReduce程序员没有使用JobConf.setMapperClass设置映射器类,则使用IdentityMapper.Class作为默认值
没有任何映射程序,就不能只运行减速器。。
Map reduce适用于HDFS中的数据。所以我不认为你可以写reducer只映射reduce从本地磁盘读取
如果你使用Hadoop流,你可以添加:
-mapper "/bin/sh -c "cat""