如何在reducer中处理不同的值类型



我正在编写一个mapreduce程序,该程序有2个映射器和1个reducer,我为每个映射器实现了自定义的可写数据类型。Datatype或多或少只是一个容器,其中的字段是文本/不可写值。

所以映射器1输出id(文本),M1可写(我的可写3个字段)

映射器2输出id(文本),M2Writable(我的可写2字段)

reducer将获得一个可迭代的值

既然这两种可写类型不同,这将如何工作?

如何确定它来自哪个映射器?

谢谢我知道这是一个基本问题,但我一直难以找到答案。

MapReduce中的映射器总是输出相同的类型。

除非M1Writable和M2Writable有一个共同的父类(例如,MWriteable),这是所有映射器的共同输出类型,否则您不能在映射器之间输出不同的类型。

要知道输出来自哪个映射器,需要在自定义MWriteable对象中记录信息。

相关内容

  • 没有找到相关文章

最新更新