Hadoop mapreduce过程key 和value分别存什么值

转自:https://www.cnblogs.com/gaopeng527/p/5436820.html

这里以wordCount为例,直接看图就懂了:

(1)inputFormat将hdfs上要处理的文件一行一行的读入,将文件拆分成splits,由于测试用的文件较小,所以每个文件为一个split,并将文件按行分割形成<key,value>对,如图4-1所示。这一步由MapReduce框架自动完成,其中偏移量(即key值)包括了回车所占的字符数(Windows和Linux环境会不同)。

这里是把每个文件按行处理,下图有两个文件,每个文件有两行,每一行的开头字符所在位置的偏移量 ,第一行的开头偏移量自然是0,hello world共10个偏移量,加上中间的空格11个偏移量,回车再算一个,第二行的开头偏移量是12.

图4-1 分割过程

  2)将分割好的<key,value>对交给用户定义的map方法进行处理,生成新的<key,value>对,如图4-2所示。

这里是用户自定义的map处理程序,每一行的字符按“ ” 分割,分割的每一个元素都记为1,也就是map节点的所有value都是1

图4-2 执行map方法

  3)得到map方法输出的<key,value>对后,Mapper会将它们按照key值进行排序,并执行Combine过程,将key至相同value值累加,得到Mapper的最终输出结果。如图4-3所示。

图4-3 Map端排序及Combine过程

  4)Reducer先对从Mapper接收的数据进行排序,再交由用户自定义的reduce方法进行处理,得到新的<key,value>对,并作为WordCount的输出结果,如图4-4所示。

图4-4 Reduce端排序及输出结果

WordCount处理过程相关推荐

  1. 总结:详细讲解MapReduce过程(整理补充)

    从启动和资源调度来看MapReduce过程 Hadoop 1.x版本 首先-先了解一下必知概念 From:MapReduce工作原理图文详解,JobTracker和TaskTracker概述 客户端( ...

  2. 大数据之MapReduce详解(MR的运行机制及配合WordCount实例来说明运行机制)

    目录 前言: 1.MapReduce原理 2.mapreduce实践(WordCount实例) 目录 今天先总体说下MapReduce的相关知识,后续将会详细说明对应的shuffle.mr与yarn的 ...

  3. MapReduce中wordcount详细介绍

    1.MapReduce编程模型 MapReduce采用分而治之的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果.简单来说,Map ...

  4. wordcount详解

    1.MapReduce编程模型 MapReduce采用分而治之的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果.简单来说,Map ...

  5. MapReduce和sparks运行wordcount案例过程分析

    MapReduce执行wordcount案例分析 1.先将磁盘中的文件读入到内存,按行读取,如图所示 2.将文件分割成每个一行一行数据之后,MapReduce框架会自动将我们的一行一行数据转化为< ...

  6. Hadoop详解(三)——MapReduce原理和执行过程,远程Debug,Writable序列化接口,MapReduce程序编写

    MapReduce概述 MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题. MR由两个阶段组成:Map和Reduce,用户只需要实现map()和Re ...

  7. Spark学习(四) -- Spark作业提交

    标签(空格分隔): Spark 作业提交 先回顾一下WordCount的过程: sc.textFile("README.rd").flatMap(line => line.s ...

  8. hadoop MapReduce实例解析

    1.MapReduce理论简介 1.1 MapReduce编程模型 MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然 ...

  9. Hadoop集群(第6期)_WordCount运行详解

    1.MapReduce理论简介 1.1 MapReduce编程模型 MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然 ...

最新文章

  1. PyTorch-Adam优化算法原理,公式,应用
  2. 牛客华为机试第6题python
  3. Java设计模式学习之工厂模式
  4. Java微信公众号开发面试题
  5. JuJu团队12月28号工作汇报
  6. nosql的数据服务_使用NoSQL实现实体服务–第3部分:CouchDB
  7. 为什么不应该用Stream forEach替换for循环的3个原因
  8. wamp修改端口localhost
  9. 使用group by rollup和group by cube后的辅助函数
  10. 超简单的方法找出QQ共同好友
  11. csm和uefi_传统bios引导与uefi引导之比较
  12. 详细的568A和568B线序
  13. android 驱动程序,安卓设备安装USB驱动程序教程
  14. Tikhonov regularization 吉洪诺夫正则化(L2正则化)
  15. acne scar treatment options
  16. 我的markdown
  17. 拼多多根据ID取商品详情-API
  18. 在Oracle中,如何定时清理INACTIVE状态的会话?
  19. flowable报错FlowableTaskAlreadyClaimedException问题
  20. UVa 207 - PGA Tour Prize Money(模拟)

热门文章

  1. 【youcans 的 OpenCV 例程 200 篇】120. 击中-击不中变换
  2. 用体元滤波器进行降低采样
  3. easypoi list中的map导出_如何优雅的导出 Excel
  4. 乒乓球十一分制比赛规则_乒乓球竞赛规则 赛制和比赛规则
  5. IntelliJ IDEA 如何导出安卓(Android)apk文件 详细教程
  6. 对比 C++ 和 Python,谈谈指针与引用
  7. 修改yapf中的列宽限制值
  8. 微信中音乐播放在ios不能自动播放解决
  9. Oracle特殊恢复原理与实战(DSI系列)
  10. 玩下软工项目,第一轮--全局Context的获取,SQLite的建立与增删改查,读取用户通话记录信息...