当前位置: 首页 > news >正文

网站建设网页设计服务建一个产品介绍网站

网站建设网页设计服务,建一个产品介绍网站,wordpress 免费中文主题,高端大气网站源码MapReduce为google分布式三驾马车之一。分别为《The Google File System》、《MapReduce: Simplified Data Processing on Large Clusters》、《Bigtable: A Distributed Storage System for Structured Data》。三遍论文奠定了分布式存储和计算的基础。本篇文章来说说mapreduc…

MapReduce为google分布式三驾马车之一。分别为《The Google File System》、《MapReduce: Simplified Data Processing on Large Clusters》、《Bigtable: A Distributed Storage System for Structured Data》。三遍论文奠定了分布式存储和计算的基础。本篇文章来说说mapreduce.

一、MapReduce介绍

  mapreduce将复杂的、在大规模集群的并行运算抽象到两个函数:Map和Reduce。核心思想是“分而治之”。由传输<key,value>类型的键值对到Map,map则对这些数据根据map函数做相应的处理,输出为<key,List<value>>的键值对,再到reduce中对value做最后的统计。这样说有点抽象。我在另一篇文章中看见一个很形象的例子

        我们的目的是做辣椒酱,但是有很多种类比如:洋葱辣椒酱、番茄辣椒酱、青椒辣椒酱等,在输入到map的过程就是将大量的原粮(包含洋葱、番茄、青椒等的混合)放入map中,而map会根据这些品种,分类、并且将其分割完成。那么此时的输出就是<洋葱,List<洋葱瓣>>、<番茄、List<番茄块>>等,此时再作为reduce的输入,reduce则负责最终的搅拌过程,最终输出为各种辣椒酱。这个例子就很形象。

1.Map和Reduce函数表

函数输入输出说明
Map        

<k1,v1>:

<1,hello world>

<2,hello Jack>

List(<k2,v2>):

<hello,1>

<world,1>

<hello,1>

<Jack,1>

1.将输入的数据进一步解析成<key,value>对,输入Map函数中进行处理

2.经过map函数输出为一批键值对。此时为中间结果

Reduece

<k2,List<v2>>

<hello,{1,1}>

<world,1>

<Jack,1>

<k3,v3>

<hello,2>

<world,1>

<Jack,1>

reduce得到map输出的中间结果,合并计算到最后的结果

在这个表中是以单词划分为例,可能会疑惑为什么map的输出为LIst的键值对,而reduce的输入却是<k2,List>,这就涉及到MapReduece的管理系统,别急继续往下看。

二、MapReduce体系结构

1.client

        用户编写的MapReduce程序通过Client提交到JobTracker端,用户可以通过Client提供的接口查看作业运行状态

2.JobTracker(也就是Master)

        JobTracker负责资源监控和作业调度JobTrack监控所有的TaskTracker与Job的健康情况,通过心跳机制来检测,一旦发生问题则重新将map中处理的任务重新去完成,因为map完成的任务会存放在他本地的磁盘中,无法得到。那么Master会重新安排其他的Map去做。而reduce失败之后,完成的任务不会再重新进行,它会存放在HDFS中。JobTracker会跟踪任务的执行进度、资源使用量等问题,并将这些信息告诉任务调度器(TaskScheduler),TaskScheduler就会调度任务。

3.TaskTracker

        TaskTracker会周期性地通过“心跳”将本地节点上的情况告诉给JobTracker,同时执行相应的操作。TaskTracker使用“slot”等量划分本节点上资源量(CPU、内存等)。一个Task获取到slot后才有机会运行,而Hadoop调度器的作用就是将各个TaskTracker上空闲的slot分配给Task使用。slot分为Map slot和Reduce slot 两种分别提供给MapTask和Reduce Task使用。

4.Task

        Task分为Map Task 和 Reduce Task两种,均由TaskTracker启动

5.TaskScheduler则负责任务的分发以及错误发生后未完成的task的重新分发。

2.1MapReduce各个执行阶段

其中Shuffile则负责将将map的输出,经过分区、排序、合并过程输出一个分区有序的文件。比如每个URL为key的键值对,将他们的value合并起来组成一个,统一由某个reduce来进行处理,并且也是有序的。这就解决了前面所说的问题。

MapReduce应用程序执行过程:

这里参考大佬的博客:MapReduce基本原理及应用 - 黎先生 - 博客园 (cnblogs.com)

同时最好可以读一遍原论文,它不管是整个框架,还是容错的考虑都是有提到的,可以更加深入的了解整个MapReduce:rfeet.qrk (mit.edu)

http://www.yayakq.cn/news/186460/

相关文章:

  • 苏州网站建设工作室电商网站建设功能需求
  • 网站后台怎么挂广告 怎么做asp做的网站如何发布
  • 手机网站策划wordpress删除plugins
  • 网站改版 百度收录天元建设集团有限公司拖欠农民工工资
  • 安徽省建设厅网站职称网站制作公司收费情况
  • 电商网站开发的职责传统文化网站设计
  • 阿里巴巴网站中详情页怎么做潍坊网站制作企业
  • 网站技术培训学校线上推广工作是做什么的
  • 建设部网站拆除资质建一个商城网站需要多少钱
  • 网站策划书哪个容易做太原百度seo优化推广
  • 网站解析错误四川全网推网络推广
  • 徐州网站建设咨询网站没有问题但是一直做不上首页
  • 私人路由器做网站多语言版本网站
  • 淘客网站开发视频教程成都航空公司官方网站
  • 西安网站创建wordpress民俗主题
  • 广州做网站wordpress更改页面设置
  • 团购商城网站建设方案软件技术专业就业前景
  • 延庆上海网站建设杭州网站制作 乐云践新
  • 石家庄高端网站制作未来3年房价走势预测
  • 公司网站建设汇报wordpress导航栏调用
  • 在线手机动画网站模板下载安装域名备案和网站备案有什么区别
  • 深圳网站建设服务便宜怎样做汽车网站建设
  • 手机app网站建设贵州讯玛网站建设
  • php网站开发实战视频教程wordpress安装语言
  • 手机在线网站建设网站阿里云服务器
  • lisp 网站开发vs 2012网站开发
  • 自己网站做seo淘宝官网首页登录入口电脑
  • 苏州网站建设的公司哪家好潍坊企业做网站
  • 中铁建设集团门户网站登录网页设计图片排版模板
  • 企业建设网站能否报销学做美食视频网站有哪些