我正在编写一个mapreduce程序,该程序有2个映射器和1个reducer,我为每个映射器实现了自定义的可写数据类型。Datatype或多或少只是一个容器,其中的字段是文本/不可写值。
所以映射器1输出id(文本),M1可写(我的可写3个字段)
映射器2输出id(文本),M2Writable(我的可写2字段)
reducer将获得一个可迭代的值
既然这两种可写类型不同,这将如何工作?
如何确定它来自哪个映射器?
谢谢我知道这是一个基本问题,但我一直难以找到答案。
除非M1Writable和M2Writable有一个共同的父类(例如,MWriteable),这是所有映射器的共同输出类型,否则您不能在映射器之间输出不同的类型。
要知道输出来自哪个映射器,需要在自定义MWriteable对象中记录信息。