MapReduce简述、工作流程

MR编程模型之执行步骤:

  1、准备map处理的输入数据

  2、mapper处理

  3、Shuffle

  4、Reduce处理

  5、结果输出

(input)<k1,v1> -> map -><k2,v2> -> combine -> <k2,v2> ->reduce -> <k3,v3>(output)

处理流程:

  

流程:

  1、输入文本信息,由InputFormat -> FileInputFormat -> TextInputFormat,通过getSplits方法获得Split数组,然后在用getRecordReader 方法对Split做处理,每读一行交给一个map处理

  2、每个节点上的所有map,交由该节点上的Partitioner处理(Shuffling的过程),按key将map放在其他节点上去还是继续在该节点下处理

  3、排序

  4、结果交由reduce处理

  5、处理完成后由 OutputFormat ->FileOutputFormat ->TextOutputFormat 写到本地或Hadoop上

Split:MR处理的的数据块,MR中最小的计算单元,默认是与HDFS中的Block(HDFS中的最小存储单元,默认128M)是一一对应的,也可以手工设置(不建议修改)

InputFormat:将输入的数据进行分片(Split) InputSplit[] getSplits(JobConf var1, int var2)

  TextInputFormat:用来处理文本格式的数据

OutputFormat: 输出

上图图解:

  一般来说,一个Split对应一个Block,但上图是一个设置过后的。

  一个file文件被分成了n个Block,对应着就是2n个Split,经过InputFormat处理后,每个Split交由一个Mapper处理,通过Shuffling的分组和排序后产生多个Reducer,每个Reducer就会产生一个文件

MapReduce 1.x的架构:一个JobTracker+多个taskTracker

    JobTracker:负责资源管理和作业调度

    TrakTracker:定期向JobTracker汇报节点的健康、资源、作业情况,接收JT的命令,比如启动/杀死任务

MapReduce 2.x:

  

转载于:https://www.cnblogs.com/onone/articles/8483689.html

MapReduce简述、工作流程相关推荐

  1. 什么是MapReduce,MapReduce的工作流程和原理是什么

    一.MapReduce的概念 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Reduce(归约)",和它 ...

  2. 【大数据入门笔记系列】第六节 分布式计算框架MapReduce的工作流程

    [大数据入门笔记系列]第六节 分布式计算框架MapReduce的工作流程 前言 MapReduce分布式运算 MapReduceApplication MapTask ReduceTask split ...

  3. MapReduce详细工作流程解析

    MapReduce工作流程 一.流程示意图 二.流程详解 1.split阶段 2.map阶段 3.Shuffle阶段 4.Reduce阶段 5.注意 三.各个阶段的工作机制 1.InputFormat ...

  4. Mapreduce基本工作流程

    MapReduce分布式计算框架 基本流程: 1,大数据经split划分成大小相等的数据块(数据块的大小一般等于HDFS一个块的大小)以及用户作业程序. 2,系统中有一个负责调度的Master节点和许 ...

  5. Mapreduce的工作流程

    一 Job的提交过程 1.1创建Job(我们可以理解为一个需要运行的MapReduce应用程序的作业) 1.2设置Job需要运行的应用程序 1.3校验Job输出路径 1.4设置Mapper类和输入ke ...

  6. mapreduce工作流程_我要进大厂之大数据MapReduce知识点(2)

    01 我们一起学大数据 今天老刘分享的是MapReduce知识点的第二部分,在第一部分中基本把MapReduce的工作流程讲述清楚了,现在就是对MapReduce零零散散的知识点进行总结,这次的内容大 ...

  7. Mapreduce工作流程与简介

    最近几天一直在学习关于大数据方面的相关技术,今天学习了MapReduce的工作流程,让我对数据地处理有了新的认识,接下来我分享一下关于MapReduce2.0的工作流程 Mapreduce简介 Had ...

  8. mapreduce工作流程

    mapre的工作流程 1.文件要存储在HDFS中,每个文件被切分成多个一定大小的块也就是Block,(Hadoop1.0默认为64M,Hadoop2.0默认为128M),并且默认3个备份存储在多个的节 ...

  9. Hadoop之MapReduce工作流程

    Hadoop之MapReduce工作流程 目录 流程示意图 流程详解 注意 1. 流程示意图 MapReduce工作流程 流程示意图,如下图 2. 流程详解 上面的流程是整个mapreduce最全工作 ...

最新文章

  1. 程序员奶爸用树莓派制作婴儿监护仪:哭声自动通知,还能分析何时喂奶
  2. mysql兼容性高吗_MySQL与标准的兼容性
  3. 稳定匹配问题——稳定婚姻算法设计
  4. 20个公司绝对不会告诉你的潜规则
  5. Kubernetes 入门教程
  6. python3 抓取图片
  7. java案例代码12--随机码--静态类的使用
  8. 安卓计步器是如何实现计步的
  9. rplidar的安装与使用
  10. A certificate chain processed, but terminated in a root certificate which is not trusted...
  11. 霹雳吧啦Wz语义分割学习笔记P10
  12. 电脑重装系统后被格式化了怎么恢复之前的数据?
  13. 阿里副总裁贾扬清回应:确认离职,或投身AI架构创业!
  14. 68点人脸关键点定位
  15. VulnHub Billu_b0x
  16. CVPR--2019 AI CITY CHALLENGE (track1成绩A榜第一,综合第二)
  17. ubuntu自动同步时间
  18. 京东抢购工具 监控工具 秒杀工具
  19. servlet的坑_tomcat下使用Servlet异步模式的坑坑洼洼
  20. C# 四舍五入、进一法、舍位(取整,舍去小数,向负无穷舍入)函数

热门文章

  1. 华为架构服务器销售,FusionServer Pro E9000融合架构刀片服务器
  2. oracle dataguard in-memory,Oracle 11g Dataguard 物理备库配置(一)之Duplicate配置
  3. 客户端程序初步加入网络通讯的功能
  4. linux调用python函数,python脚本里执行linux命令的时候如何调用python的函数?
  5. mysql怎么维护_Navicat for MySQL 如何管理和维护表
  6. activity中fragment 返回键不退出_优雅地处理加载中(loading),重试(retry)和无数据(empty)等...
  7. ansys结构分析单元与应用_结构动力学中的时域分析(3) —— 基于ANSYS的实现
  8. Java:多态的概念和案例实现
  9. html传递guid参数,C#中的Guid.ToString鲜为人知参数用法
  10. CCF 202104 Python