Hadoop Mapreduce中wordcount 过程解析
将文件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 过程解析的更多相关文章
- MapReduce 示例:减少 Hadoop MapReduce 中的侧连接
摘要:在排序和reducer 阶段,reduce 侧连接过程会产生巨大的网络I/O 流量,在这个阶段,相同键的值被聚集在一起. 本文分享自华为云社区<MapReduce 示例:减少 Hadoop ...
- 三.hadoop mapreduce之WordCount例子
目录: 目录见文章1 这个案列完成对单词的计数,重写map,与reduce方法,完成对mapreduce的理解. Mapreduce初析 Mapreduce是一个计算框架,既然是做计算的框架,那么表现 ...
- Hadoop Mapreduce 案例 wordcount+统计手机流量使用情况
mapreduce设计思想 概念:它是一个分布式并行计算的应用框架它提供相应简单的api模型,我们只需按照这些模型规则编写程序,即可实现"分布式并行计算"的功能. 案例一:word ...
- Hadoop : MapReduce中的Shuffle和Sort分析
地址 MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据.第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Sch ...
- Mapreduce中maptask过程详解
一.Maptask并行度与决定机制 1.一个job任务的map阶段的并行度默认是由该任务的大小决定的: 2.一个split切分分配一个maprask来并行处理: 3.默认情况下,split切分的大小等 ...
- Hadoop MapReduce的Shuffle过程
一.概述 理解Hadoop的Shuffle过程是一个大数据工程师必须的,笔者自己将学习笔记记录下来,以便以后方便复习查看. 二. MapReduce确保每个reducer的输入都是按键排序的.系统执行 ...
- Hadoop MapReduce中压缩技术的使用
Compression and Input Splits 当我们使用压缩数据作为MapReduce的输入时,需要确认数据的压缩格式是否支持切片? 假设HDFS中有一个未经压缩的大小为1GB的文 ...
- Hadoop Mapreduce中shuffle 详解
MapReduce 里面的shuffle:描述者数据从map task 输出到reduce task 输入的这段过程 Shuffle 过程: 首先,map 输出的<key,value > ...
- Hadoop Mapreduce 中的Partitioner
Partitioner的作用的对Mapper产生的中间结果进行分片,以便将同一分组的数据交给同一个Reduce处理,Partitioner直接影响Reduce阶段的负载均衡. MapReduce提供了 ...
随机推荐
- 20181207_Second_小结
1. 上下 200*200 盒子的重叠,切记用 absolute 绝对定位 为最佳解决方案 2. 移动端多使用 粘连布局 <!DOCTYPE html> <html> < ...
- overflow:hidden;和clear:both;的不同点
overflow:hidden;是针对被浮动元素的父级元素,是让父级元素找回原来的高,因为浮动的元素会让父级元素的高塌陷: 而clear:both:它是在新的元素上面书写,它是让上面浮动的元素不要干扰 ...
- EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽
DbContextPool 是 ASP.NET Core 2.1 引入的新特性,可以节省创建 DbContext 实例的开销,但没有想到其中藏着一个小坑. 最近有一个 ASP.NET Core 项目持 ...
- Enable Coded UI Testing of Your Controls
http://msdn.microsoft.com/en-us/library/hh552522.aspx AccessibleObject Class http://msdn.microsoft.c ...
- JL MTK 安防网关的 wifi 吞吐测试
基本配置: 删除桥接中的 eth3 : brctl delif br0 eth3 设置eth3的ip: ifconfig eth3 192.168.1.100 开启数据转发: ech ...
- 阿里云入坑指南&&nodejs 安装配置
买了阿里云1G1核1M的机器(800元,3年) 登录阿里云-实例-选择实例所在地区-重置密码 用公网IP ssh连接 #升级CentOS yum -y update #安装or更新组件 yum -y ...
- linux磁盘大小获取和文件大小获取
一.获取磁盘大小(给入的是文件夹绝对路径):check_disk_available(QString path) { struct statfs diskinfo; unsigned long lon ...
- linux软件安装方式
先插句题外话,快捷键 Ctrl+s 的功能是停止输入,Ctrl+q 恢复输入; 正题,在linux的应用软件安装有三种: 1,tar包 2,rpm包 3,dpkg包 以下介绍三种包的安装和卸载方式 1 ...
- mysql8.0.13免安装版配置
一.下载 下载地址:https://dev.mysql.com/downloads/mysql/ 二.解压到某个目录,例如:D:/mysql/mysql-8.0.13-winx64 三.配置环境变量 ...
- es5原型式继承间解
1. 原型式继承方法 js 继承使用不难,要说清楚,需要自己一定总结,才能说清楚. es5 的继承方式有很多种,这个是 js 语言本身造成,但是类实现继承之后的功能,有如下 3 条: 子类继承父类,主 ...