减速器中的多重输出



我正在开发一个简单的map reduce程序。我想为密钥中的每个不同单词创建不同的文件。例如,在执行Mapreduce之后,我有了类似的东西

优先级1 x 2

优先级1 y 2

优先级1 z 2

优先级2 x 2

优先级2 y 2

现在我想要reduce阶段之后的不同文件,比如Priority1和Priority2,它们根据优先级具有所有这些值。我正在使用java,想知道在reducer中应该写什么才能得到这种输出?

我只是想知道这是否可能,或者是如何解决这个问题?我使用的是Hadoop0.20.203,因此多路输出不起作用。

任何指针都会有所帮助。谢谢你的帮助!Atul

您需要首先创建一个partioner类,该类根据您的标准进行分区。

然后,您需要创建自己的outputformat类和recordwriter类。

recordwriter类,需要根据您的需要写入不同的文件。此外,如果需要对值进行排序,请为键字段创建comparator类。

看看MultipleOutput。

相关内容

  • 没有找到相关文章

最新更新