MapReduce的实现目标及核心关注点-创新互联

实现目标及核心关注点

MapReduce接口可能有多种不同的实现方式,需根据具体的计算环境来选择

10年积累的成都网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有普宁免费网站建设让你可以放心的选择与我们合作。

以Google的常用计算环境为例

1.机器配置 Linux dual-process x86 2-4GB Memory

2.网络硬件 100/1000 MB/s, 平均整体二分带宽少很多

3.集群 由数百、数千台机器组成,机器故障很常见

4.存储由连接到每个机器的廉价IDE磁盘提供,它们内部开发的分布式文件系统用于管理这些磁盘上的数据。文件系统使用副本在不可靠的硬件之上提供可用性和可靠性

5.用户提交Job到调度系统,每个Job由一组Tasks组成,并由调度器将每个Task映射到机器中一组可用计算机上执行

MapReduce实现流程

Map调用被分布在多台机器,输入数据被自动划分为M个分割,输入分割之间没有交互,可以在不同机器上并行处理。使用分区函数(e.g. hash(key) mod R),将中间键空间划分为R个片段分发给Reduce并行调用,分区函数和分区数由用户指定。用户调用MapReduce函数的系列操作如下

1.Split Input FIles 将输入文件按指定大小S(16~64MB,用户通过可选参数指定)划分为M个分割文件,然后在集群中启动多个副本程序

2.Assign Tasks Master挑选空闲Worker节点并为其分配一个map task或reduce task

3.Parses K/V 被分配map task的worker读取相关分割的内容,从输入内容中解析键/值对并生成中间键/值对缓存于内存中

4.Written to Local Disk 缓存的中间键/值对,通过分区函数划分为R个区域,定期写到本地磁盘并将其相对位置返回给Master,Master再将这些位置信息传给Worker

5.RPC Read and Sort 当Master将位置信息通知到Reduce Worker, Reduce Worker使用远程过程调用从Map Worker的磁盘读入缓存数据。当Reduce Worker读入所有的中间数据按key排序,如果中间数据过大不适合在内存运算,可考虑使用外部排序

6.Iterates and Appended Reduce Worker对已排序的中间数据进行迭代,对于每一个唯一的中间键,它将与之对应的中间值集传递给用户的Reduce函数。将Reduce函数的输出Append到这个reduce分区的最终输出文件

7.Completed 完成所有map和reduce任务后master唤醒用户程序

--- edit by 云时代的运维开发(clouddevops)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页标题:MapReduce的实现目标及核心关注点-创新互联
网站URL:http://pwwzsj.com/article/dgdiei.html