云计算 3 MapReduce分布式处理技术 实现机制 ◆(3)被分配了map任务的worker读取并处理相关的输入(这里的输 入是指已经被切割的输入小块splite)。它处理输入的数据,并且 将分析出的键/值(key/value)对传递给用户定义的reduce(0函数。 map0函数产生的中间结果键/值(key/value)对暂时缓冲到内存。 ◆(4)map0函数缓冲到内存的中间结果将被定时刷写到本地硬盘, 这些数据通过分区函数分成R个区。这些中间结果在本地硬盘的位 置信息将被发送回master,然后这个master负责把这些位置信息 传送给reduce(0函数的worker。 /986
MapReduce分布式处理技术——实现机制 (3) 被分配了map任务的worker读取并处理相关的输入(这里的输 入是指已经被切割的输入小块splite)。它处理输入的数据,并且 将分析出的键/值(key/value)对传递给用户定义的reduce()函数。 map()函数产生的中间结果键/值(key/value)对暂时缓冲到内存。 (4) map()函数缓冲到内存的中间结果将被定时刷写到本地硬盘, 这些数据通过分区函数分成R个区。这些中间结果在本地硬盘的位 置信息将被发送回master,然后这个master负责把这些位置信息 传送给reduce()函数的worker。 云计算
云计算 3 MapReduce分布式处理技术 实现机制 ◆(5)当masteri通知了reduce0函数的worker关于中间键/值 (key/value)对的位置时,workeri调用远程方法从map0函数的 worker机器的本地硬盘上读取缓冲的中间数据。当reduce0函数 的worker读取到了所有的中间数据,它就使用这些中间数据的键 (key)进行排序,这样可以使得相同键(key)的值都在一起。 ◆(6)reduce()函数的worker根据每一个中间结果的键(key)来遍历 排序后的数据,并且把键(key)和相关的中间结果值(value)集合传 递给reduce(函数。reduce()函数的workeri最终把输出结果存放 在master机器的一个输出文件中
MapReduce分布式处理技术——实现机制 (5) 当master通知了reduce()函数的worker关于中间键/值 (key/value)对的位置时,worker调用远程方法从map()函数的 worker机器的本地硬盘上读取缓冲的中间数据。当reduce()函数 的worker读取到了所有的中间数据,它就使用这些中间数据的键 (key)进行排序,这样可以使得相同键(key)的值都在一起。 (6) reduce()函数的worker根据每一个中间结果的键(key)来遍历 排序后的数据,并且把键(key)和相关的中间结果值(value)集合传 递给reduce()函数。reduce()函数的worker最终把输出结果存放 在master机器的一个输出文件中。 云计算
云计算 3 MapReduce分布式处理技术 实现机制 ◆(7)当所有的map任务和reduce任务都已经完成后,master激活 用户程序。在这时,MapReducei返回用户程序的调用点。 ◆(8)当以上步骤成功结束以后,MapReduce的执行数据存放在总 计R个输出文件中(每个输出文件都是由reduce任务产生的,这些 文件名是用户指定的)。通常,用户不需要将这R个输出文件合并 到一个文件,他们通常把这些文件作为输入传递给另一个 MapReducei调用,或者用另一个分布式应用来处理这些文件,并 且这些分布式应用把这些文件看成为输入文件由于分区 (partition)成为的多个块文件。 986
MapReduce分布式处理技术——实现机制 (7) 当所有的map任务和reduce任务都已经完成后,master激活 用户程序。在这时,MapReduce返回用户程序的调用点。 (8) 当以上步骤成功结束以后,MapReduce的执行数据存放在总 计R个输出文件中(每个输出文件都是由reduce任务产生的,这些 文件名是用户指定的)。通常,用户不需要将这R个输出文件合并 到一个文件,他们通常把这些文件作为输入传递给另一个 MapReduce调用,或者用另一个分布式应用来处理这些文件,并 且这些分布式应用把这些文件看成为输入文件由于分区 (partition)成为的多个块文件。 云计算
云计算 c3 MapReduces分布式处理技术——实例 单词统计WordCount: ◆问题描述:统计文本中所出现单词的次数。 ◆解决思路:需符合Map、Reduce各自的输入、输出格。 ◆Map端:输入为(k1,v1),以文本行号为k1,以行内容为v1;输出 为list(k2,v2),每有一个单词就输出一个(word,1)。 ◆Reducei端:输入为(k2,Iist(v2),将|ist(v2)中所有数字相加即可 得到单词次数;输出为st(k3,v3),即最终的结果:(单词,单词次 数)
MapReduce分布式处理技术——实例 单词统计WordCount: 问题描述:统计文本中所出现单词的次数。 解决思路:需符合Map、Reduce各自的输入、输出格。 Map端:输入为(k1, v1), 以文本行号为k1,以行内容为v1;输出 为list(k2, v2),每有一个单词就输出一个(word, 1)。 Reduce端:输入为(k2, list(v2)),将list(v2)中所有数字相加即可 得到单词次数;输出为list(k3, v3),即最终的结果:(单词, 单词次 数)。 云计算
云计算 c3 MapReduce:分布式处理技术一—实例 单词统计WordCount:: Input Output 1,"Hello World Bye World" <Hello,1> <World,1> Map <Bye,1> <World,1> <Hello,1> >Map: 2,"Hello Hadoop Bye Hadoop" <Hadoop,1> Map <Bye,1> <Hadoop,1> 3,"Bye Hadoop Hello Hadoop" <Bye,1> <Hadoop,1> Map <Hello,1> <Hadoop,1> /986
MapReduce分布式处理技术——实例 单词统计WordCount: 云计算 Map: