我有多个非常大的文件(接近500MB)作为我的MR程序的输入。我将这些文件划分(拆分)为相同大小的分区。每个Mapper都有 文件的单个分区
Mapper:Key =(filename,partition_number)和Value =(分区的字符流)
我在mapper中对值(字符流)应用了一些计算。 我想在一个reducer中收集与输入文件(对于它的所有分区)相对应的结果。所以我认为reducer i / p键为'filename'。但是映射器的那些输出必须在reducer中顺序收集。(比如[partition1 o / p + partition2 + ... + partitionN o / p])
你能告诉我逻辑吗? 感谢。
答案 0 :(得分:1)
您需要进行二次排序。有关示例,请参阅https://vangjee.wordpress.com/2012/03/20/secondary-sorting-aka-sorting-values-in-hadoops-mapreduce-programming-paradigm/
在这种情况下"