将文件split

文件1:                                                                   分割结果:

hello  world                                                   <0, "hello world">

this is wordcount                                           <12,"this is wordcount">

文件2:

hello china                                                     <0,"hello china">

hello IT                                                           <12,"hello IT">

测试文件较小,所以一般测试文件就是一个split

MapReduce 框架完成了以上分割

Then,将分割好的<key ,value > 交给用户自定义的map 方法进行处理,生成新的<key,value>:

<0, "hello world">                        map()                <hello,1> <world,1>

<12,"this is wordcount">             map()                 <this,1> <is,1> <wordcount,1>

<0,"hello china">                         map()                 <hello,1> <china,1>

<12,"hello IT">                            map()                  <hello,1><IT,1>

map() reduce() 中间有个shuffle :

<hello,1> <world,1>                         shuffle ()             <hello,1>

<this,1> <is,1> <wordcount,1>        shuffle ()              <is,1>

<wordcount,1>

<world,1>

<hello,1> <china,1>                         shuffle ()              <china,1>

<hello,1> <IT,1>                               shuffle ()               <hello,1>

<hello,1>

<IT,1>

分组,将相同的key 合并在一起:

<hello,1>                        <hello,list(1)>

<is,1>                             <is,list(1)>

<wordcount,1>               <wordcount,list(1)>

<world,1>                      <world,list(1)>

<china,1>                        <china,list(1)>

<hello,1>

<hello,1>                          <hello,list(2)>

<IT,1>                             <IT,1>

<china,list(1)>

<hello,list(1,2)>

<is,list(1)>

<wordcount,list(1)>

<world,list(1)>

<IT,list(1)>

得到最新的<key,value> 之后,再交给用户的reduce()方法,得到最新的<key,value >,并组为wordcount 的结果输出:

<china,1>

<hello,3>

<is,1>

<wordcount,1>

<world,1>

<IT,1>

Hadoop Mapreduce中wordcount 过程解析的更多相关文章

  1. MapReduce 示例:减少 Hadoop MapReduce 中的侧连接

    摘要:在排序和reducer 阶段,reduce 侧连接过程会产生巨大的网络I/O 流量,在这个阶段,相同键的值被聚集在一起. 本文分享自华为云社区<MapReduce 示例:减少 Hadoop ...

  2. 三.hadoop mapreduce之WordCount例子

    目录: 目录见文章1 这个案列完成对单词的计数,重写map,与reduce方法,完成对mapreduce的理解. Mapreduce初析 Mapreduce是一个计算框架,既然是做计算的框架,那么表现 ...

  3. Hadoop Mapreduce 案例 wordcount+统计手机流量使用情况

    mapreduce设计思想 概念:它是一个分布式并行计算的应用框架它提供相应简单的api模型,我们只需按照这些模型规则编写程序,即可实现"分布式并行计算"的功能. 案例一:word ...

  4. Hadoop : MapReduce中的Shuffle和Sort分析

    地址 MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据.第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Sch ...

  5. Mapreduce中maptask过程详解

    一.Maptask并行度与决定机制 1.一个job任务的map阶段的并行度默认是由该任务的大小决定的: 2.一个split切分分配一个maprask来并行处理: 3.默认情况下,split切分的大小等 ...

  6. Hadoop MapReduce的Shuffle过程

    一.概述 理解Hadoop的Shuffle过程是一个大数据工程师必须的,笔者自己将学习笔记记录下来,以便以后方便复习查看. 二. MapReduce确保每个reducer的输入都是按键排序的.系统执行 ...

  7. Hadoop MapReduce中压缩技术的使用

    Compression and Input Splits   当我们使用压缩数据作为MapReduce的输入时,需要确认数据的压缩格式是否支持切片?   假设HDFS中有一个未经压缩的大小为1GB的文 ...

  8. Hadoop Mapreduce中shuffle 详解

    MapReduce 里面的shuffle:描述者数据从map task 输出到reduce task 输入的这段过程 Shuffle 过程: 首先,map 输出的<key,value >  ...

  9. Hadoop Mapreduce 中的Partitioner

    Partitioner的作用的对Mapper产生的中间结果进行分片,以便将同一分组的数据交给同一个Reduce处理,Partitioner直接影响Reduce阶段的负载均衡. MapReduce提供了 ...

随机推荐

  1. 20181207_Second_小结

    1. 上下 200*200 盒子的重叠,切记用 absolute 绝对定位 为最佳解决方案 2. 移动端多使用 粘连布局 <!DOCTYPE html> <html> < ...

  2. overflow:hidden;和clear:both;的不同点

    overflow:hidden;是针对被浮动元素的父级元素,是让父级元素找回原来的高,因为浮动的元素会让父级元素的高塌陷: 而clear:both:它是在新的元素上面书写,它是让上面浮动的元素不要干扰 ...

  3. EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽

    DbContextPool 是 ASP.NET Core 2.1 引入的新特性,可以节省创建 DbContext 实例的开销,但没有想到其中藏着一个小坑. 最近有一个 ASP.NET Core 项目持 ...

  4. Enable Coded UI Testing of Your Controls

    http://msdn.microsoft.com/en-us/library/hh552522.aspx AccessibleObject Class http://msdn.microsoft.c ...

  5. JL MTK 安防网关的 wifi 吞吐测试

    基本配置:   删除桥接中的 eth3 : brctl delif  br0 eth3   设置eth3的ip: ifconfig  eth3  192.168.1.100   开启数据转发: ech ...

  6. 阿里云入坑指南&&nodejs 安装配置

    买了阿里云1G1核1M的机器(800元,3年) 登录阿里云-实例-选择实例所在地区-重置密码 用公网IP ssh连接 #升级CentOS yum -y update #安装or更新组件 yum -y ...

  7. linux磁盘大小获取和文件大小获取

    一.获取磁盘大小(给入的是文件夹绝对路径):check_disk_available(QString path) { struct statfs diskinfo; unsigned long lon ...

  8. linux软件安装方式

    先插句题外话,快捷键 Ctrl+s 的功能是停止输入,Ctrl+q 恢复输入; 正题,在linux的应用软件安装有三种: 1,tar包 2,rpm包 3,dpkg包 以下介绍三种包的安装和卸载方式 1 ...

  9. mysql8.0.13免安装版配置

    一.下载 下载地址:https://dev.mysql.com/downloads/mysql/ 二.解压到某个目录,例如:D:/mysql/mysql-8.0.13-winx64 三.配置环境变量 ...

  10. es5原型式继承间解

    1. 原型式继承方法 js 继承使用不难,要说清楚,需要自己一定总结,才能说清楚. es5 的继承方式有很多种,这个是 js 语言本身造成,但是类实现继承之后的功能,有如下 3 条: 子类继承父类,主 ...