我正在制作简单的地图缩减程序。我想在reducer中为键中的每个不同单词创建不同的文件。例如,在执行Mapreduce之后,我有类似
的内容优先级1 x 2
优先级1 y 2
优先级1 z 2
priority2 x 2
priority2 y 2
现在我想在reduce阶段之后想要不同的文件,说Priority1和Priority2根据优先级具有所有这些值。我正在使用java并且想知道在reducer中应该写什么来获得这种输出?
我只是想知道这是否可能,或者是否如何处理或解决这个问题? 我使用的是Hadoop 0.20.203,因此多输出不起作用。
任何指针都会有所帮助。 谢谢您的帮助! 阿图尔
答案 0 :(得分:0)
答案 1 :(得分:0)
您需要先创建一个partioner
课程,然后根据您的标准创建该课程。
然后,您需要创建自己的outputformat
班级和recordwriter
班级。
recordwriter
类需要根据您的需要写入不同的文件。此外,如果您需要为您的值排序,请为您的关键字段创建comparator
类。