如何从几个仅地图任务创建单个分布式内存映射?

时间:2014-12-17 10:24:23

标签: python hadoop mapreduce hadoop-streaming

我有几个异构输入,需要使用不同的映射器来处理,以生成一个均匀的映射,之后可以通过单个reducer的多个实例进行简化。是否可以以更优雅的方式完成,而不是连接所有映射器的输出并将它们提供给只能发出相同结果的id-mapper?我使用的是Python Hadoop Streaming API,所以它比使用MultipleInputs Java接口要复杂一点。

1 个答案:

答案 0 :(得分:0)

您正在寻找的是MultipleInputs。您应该为不同的异构输入编写不同的映射器。

在您的驱动程序中,您应该将不同的路径映射到各自的映射器。

所有这些映射器都应将其各自的映射输出转换为将由reducer使用的标准输出。

http://bytepadding.com/big-data/map-reduce/multipleinputs-in-map-reduce