1. MapReduce 定义

  • MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。
  • MapReduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。

2. MapReduce 优缺点

  • 优点:

    • 易于编程;
    • 良好的扩展性;
    • 高容错性;
    • 适合PB级以上海量数据的离线处理;
      缺点:
    • 不擅长实时计算;
    • 不擅长流式计算;
    • 不擅长DAG(有向图)计算;

3. MapReduce 核心思想

  • MapReduce 运算程序一般需要分成两个阶段:Map阶段和Reduce阶段;

===================

3.1 MapReduce 进程

  • 一个完整的MapReduce程序在分布式运行时,有三类实例进程:

    • MrAppMaster: 负责整个程序的过程调度及状态协调;
    • MapTask: 负责Map阶段的整个数据处理流程;
    • ReduceTask: 负责Reduce阶段的整个数据处理流程;

4. MapReduce 编程规范

  • 用户编写的程序分成三个部分:Mapper,Reducer 和 Driver;
  • Mapper 阶段:
    • 用户自定义的 Mapper 要继承自己的父类;
    • Mapper 的输入数据是KV对的形式(KV的类型可自定义);
    • Mapper 中的业务逻辑写在map()方法中;
    • Mapper 的输出数据是KV对的形式(KV的类型可自定义);
    • map()方法(MapTask进程)对每一个<K,V>调用一次;
  • Reducer 阶段:
    • 用户自定义的Reducer要继承自己的父类;
    • Reducer 的输入数据类型对应 Mapper 的输出类型,也是KV;
    • Reducer 的业务逻辑写在 reduce() 方法中;
    • ReduceTask 进程对每一组相同K的<K,V>组调用一次 reduce() 方法;
  • Driver 阶段
    • 相当于YARN集群的客户端,用于提交我们整个程序到YARN集群,提交的是封装了MapReduce程序相关运行参数的job对象;

转载于:https://www.cnblogs.com/linkworld/p/10946277.html

MapReduce 概述相关推荐

  1. MapReduce概述

    MapReduce概述 源自于Google的MapReduce论文,论文发表于2004年12月 Hadoop的MapReduce是Google MapReduce的克隆版.与HDFS非常类似. Map ...

  2. MapReduce入门(一)—— MapReduce概述 + WordCount案例实操

    MapReduce入门(一)-- MapReduce概述 文章目录 MapReduce入门(一)-- MapReduce概述 1.1 MapReduce 定义 1.2 MapReduce 优缺点 1. ...

  3. 【Hadoop】Hadoop生态系列之MapReduce概述及MapReduce任务开发与发布

    上一篇:Hadoop生态系列之HDFS常用Shell命令实践及Java API操作HDFS 这里写目录标题 MapReduce 概述 流程分析 环境搭建 MapReduce任务开发 背景 实现 任务发 ...

  4. Hadoop基础--HDFS/Yarn/MapReduce概述

    HDFS概述==> 1. Hadoop优势(4高): 1.高可靠性: Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失: 2.高扩展型: 在 ...

  5. MapReduce概述及MapReduce详细实现

    目录 一.概述 二.定义 三.MapReduce原理 1.原理 四.MR执行过程 1.map阶段 2.reudce阶段 3.shuffle过程 五.MapReduce默认输入处理类 六.RecordR ...

  6. 大数据学习笔记09:MapReduce概述

    文章目录 一.引入问题 问题1:100副牌,没有大小王,差一张牌,确定缺少的那张牌. 问题2:100GB网站访问日志文件,找出访问次数最多的IP地址. 二.MapReduce编程模型 三.MapRed ...

  7. MapReduce概述及工作流程

    内容 mapreduce原语(独创) mapreduce工作流程(重点) MR作业提交流程(重点) YARN RM-HA搭建(熟练) 运行自带的wordcount(了解) 动手写wordcount(熟 ...

  8. 史上最快! 10小时大数据入门实战(五)-分布式计算框架MapReduce

    目录 1 MapReduce概述 2 MapReduce编程模型之通过wordcount词频统计分析案例入门 MapReduce执行流程 InputFormat OutputFormat Output ...

  9. 第五章-分布式并行编程框架MapReduce

    第五章-分布式并行编程框架MapReduce 文章目录 第五章-分布式并行编程框架MapReduce MapReduce概述 分布式并行编程 MapReduce模型和函数 MapReduce体系结构 ...

最新文章

  1. let 与 expr Shell运算比较 let强强胜出
  2. [Python]程序结构与控制流
  3. [转贴]ATOM和RSS的区别
  4. C语言笔试两题,有坑
  5. 什么是Ext(ExtJs)【转载】
  6. 【SPOJ - QTREE2】Query on a tree II(LCA,倍增)
  7. 计算机网络对口题目,2011-2015计算机对口升学网络试题汇总.doc
  8. Python递归函数的正确理解与使用
  9. 我也有了博客了,呵呵~~
  10. 目录_计算机视觉——算法及应用
  11. 项目管理系统TOP10,好用的产品研发项目管理系统都在这里了
  12. 现代档案馆库房环境监控管理系统解决方案
  13. JavaProperties文件操作
  14. [渝粤教育] 浙江大学 2021秋 茶叶加工与品质管理学Ⅰ 陈萍 章节答案考试答案 浙江大学[渝粤教育]
  15. 宠物商店信息管理系统
  16. 学习SpringBoot:知乎超赞回答:Java如何进阶?分享面经
  17. selenium找到页面元素click没反应
  18. 海洋CMS忘记后台管理员密码解决方法
  19. C51流水灯由开关控制自下而上自上而下的实验
  20. [K8S]error execution phase preflight: couldn‘t validate the identity of the API Server

热门文章

  1. userinits.exe, wupcltr.exe的分析及解决办法
  2. if函数判断单元格颜色_13个动图小技巧与5个常用函数,学会它们,小白也能变大神...
  3. cleanmymac3.9.6下载_单耳兔o2oapp下载-单耳兔o2o商城官方版下载v10.6 安卓版
  4. Javascript JQuery获取当前元素的兄弟元素/上一个/下一个元素(转)
  5. android webview gettitle,Android-webview加载网页去除标题
  6. 那些美的让人流连忘返的风景照片
  7. 2021年春季学期-信号与系统-第八次作业参考答案-第五小题
  8. 克隆树莓Raspberry Pi Mode4 的TF卡
  9. 2020人工神经网络第一次作业-参考答案第五部分
  10. 57HSXXXXEIS一体化步进伺服驱动电机