在hadoop中收集在reducer中排序的多个Map器的结果

v7pvogib  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(354)

我有多个非常大的文件(近500mb)作为我的mr程序的输入。我把这些文件分成大小相等的分区。每个Map器获得一个文件的单个分区
Map器:key=(文件名,分区号)value=(分区字符流)
我正在mapper中对值(字符流)应用一些计算。我想在一个reducer中收集与输入文件(对于它的所有部分)对应的结果。所以我认为reducer i/p键是“filename”。但是Map器的输出必须在reducer中按顺序收集(比如[partition1o/p+partition2+…+partitionno/p])
你能告诉我逻辑吗。谢谢。

gmxoilav

gmxoilav1#

你需要第二种。有关示例,请参见https://vangjee.wordpress.com/2012/03/20/secondary-sorting-aka-sorting-values-in-hadoops-mapreduce-programming-paradigm/
在这种情况下”
主比较器在[filename,partition\u number]上比较
仅文件名上的组比较器
仅文件名分区器

相关问题