繁体   English   中英

收集在Hadoop的Reducer中排序的多个映射器的结果

[英]Gathering multiple mapper's result sorted at Reducer in Hadoop

我有多个非常大的文件(将近500MB)作为我的MR程序的输入。 我将这些文件划分(分割)成相同大小的分区。 每个Mapper会获得一个文件的单个分区

映射器:键=(文件名,partition_number)和值=(分区的字符流)

我正在对mapper中的值(字符流)进行一些计算。 我想在一个化简器中收集与输入文件(对于所有partitons)相对应的结果。 因此,我想到了将reducer i / p键作为“文件名”。 但是映射器的输出必须在reducer中顺序收集。(例如[partition1 o / p + partition2 + ... + partitionN o / p])

你能给我建议一下逻辑吗? 谢谢。

您需要第二种排序。 有关示例,请参见https://vangjee.wordpress.com/2012/03/20/secondary-sorting-aka-sorting-values-in-hadoops-mapreduce-programming-paradigm/

在这种情况下”

  • 主比较器比较[文件名,partition_number]
  • 组比较器仅使用文件名
  • 仅文件名分区程序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM