【摘要】:下面,以求东三省2016年5月16日14时每个省份的平均气温为例,对Map任务和Reduce任务进行形象的阐述。图7-5Map输出图7-6Shuffle输出将从Shuffle任务中获得的Key,List<Value>数据作为Reduce任务的输入数据,如图7-7所示。图7-8Reduce输出总结一下,MapReduce对数据的重塑过程:Map输入<K1,V1>→Map输出<K2,V2>。
下面,以求东三省2016年5月16日14时每个省份的平均气温为例(为使问题简化,每个省只列举3个城市),对Map任务和Reduce任务进行形象的阐述。
(1)在Map阶段输入<Key,Value>数据,其中Key为城市的名称,Value为所属省份,城市平均气温,如图7-4所示。
图7-4 Map输入
(2)Map按省份将气温重新分组输出(排除城市名称),那么省份作为Key时,气温将作为Value,如图7-5所示。
(3)使用Map的Shuffle功能,分组输出省份Key,并得到该省的气温列表List<Value>,如图7-6所示。
图7-5 Map输出
图7-6 Shuffle输出(www.xing528.com)
(4)将从Shuffle任务中获得的Key,List<Value>数据作为Reduce任务的输入数据,如图7-7所示。
图7-7 Reduce输入
(5)Reduce任务是数据逻辑的完成者,在这里就是计算各省份的平均温度,如图7-8所示。
图7-8 Reduce输出
总结一下,MapReduce对数据的重塑过程:
(1)Map输入<K1,V1>→Map输出<K2,V2>。
(2)Shuffle输出<K2,ListV2>。
(3)Reduce输入<K2,List<V2>>→Reduce输出<K3,V3>。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。