缓存映射器输出

时间:2014-07-24 09:18:50

标签: java mapreduce store

我注意到我经常在相同(大量)数据上运行相同的映射作业,并更改reducer行为。是否可以以某种无缝方式将映射器输出存储在HDFS上,以便减速器可以读取它?我如何创建一个只读取key-listofvalue对的reducer工作?

1 个答案:

答案 0 :(得分:1)

要定义仅限reducer作业,您需要定义身份映射器,如下所述: job.setMapperClass(Mapper.class)

对于使用Mapper一次性数据的问题,您可以通过指定以下内容来首先运行一个Map only作业: job.setNumReducer(0) 并且,在获得其输出后,使用此作业的输出目录作为仅限Reducer作业的输入目录。

P.S。上面提到的方法名称可能与API中的名称不同,因为我目前没有API。 Plz在使用它们之前验证。