我有几个异构输入,需要使用不同的映射器来处理,以生成一个均匀的映射,之后可以通过单个reducer的多个实例进行简化。是否可以以更优雅的方式完成,而不是连接所有映射器的输出并将它们提供给只能发出相同结果的id-mapper?我使用的是Python Hadoop Streaming API,所以它比使用MultipleInputs Java接口要复杂一点。
答案 0 :(得分:0)
您正在寻找的是MultipleInputs。您应该为不同的异构输入编写不同的映射器。
在您的驱动程序中,您应该将不同的路径映射到各自的映射器。
所有这些映射器都应将其各自的映射输出转换为将由reducer使用的标准输出。
http://bytepadding.com/big-data/map-reduce/multipleinputs-in-map-reduce