没有合适的资源?快使用搜索试试~ 我知道了~
首页MapReduce实例分析:单词计数
MapReduce实例分析:单词计数
13 下载量 131 浏览量
更新于2023-05-04
评论 1
收藏 146KB PDF 举报
单词计数是最简单也是最能体现 MapReduce 思想的程序之一,可以称为 MapReduce 版“Hello World”。单词计数的主要功能是统计一系列文本文件中每个单词出现的次数。本节通过单词计数实例来阐述采用 MapReduce 解决实际问题的基本思路和具体实现过程。 设计思路 首先,检查单词计数是否可以使用 MapReduce 进行处理。因为在单词计数程序任务中,不同单词的出现次数之间不存在相关性,相互独立,所以,可以把不同的单词分发给不同的机器进行并行处理。因此,可以采用 MapReduce 来实现单词计数的统计任务。 其次,确定 MapReduce 程序的设计思路。把文件内容分
资源详情
资源评论
资源推荐
MapReduce实例分析:单词计数实例分析:单词计数
单词计数是最简单也是最能体现 MapReduce 思想的程序之一,可以称为 MapReduce 版“Hello World”。单词计数的主要功能
是统计一系列文本文件中每个单词出现的次数。本节通过单词计数实例来阐述采用 MapReduce 解决实际问题的基本思路和具
体实现过程。
设计思路设计思路
首先,检查单词计数是否可以使用 MapReduce 进行处理。因为在单词计数程序任务中,不同单词的出现次数之间不存在相关
性,相互独立,所以,可以把不同的单词分发给不同的机器进行并行处理。因此,可以采用 MapReduce 来实现单词计数的统
计任务。
其次,确定 MapReduce 程序的设计思路。把文件内容分解成许多个单词,然后把所有相同的单词聚集到一起,计算出每个单
词出现的次数。
最后,确定 MapReduce 程序的执行过程。把一个大的文件切分成许多个分片,将每个分片输入到不同结点上形成不同的
Map 任务。每个 Map 任务分别负责完成从不同的文件块中解析出所有的单词。
Map 函数的输入采用 方式,用文件的行号作为 key,文件的一行作为 value。Map 函数的输出以单词作为 key,1 作为
value,即 表示该单词出现了 1 次。
Map 阶段结束以后,会输出许多 形式的中间结果,然后 Sort 会把这些中间结果进行排序并把同一单词的出现次数合并成一个
列表,得到 形式。例如,<Hello,> 就表明 Hello 单词在 5 个地方出现过。
如果使用 Combine,那么 Combine 会把每个单词的 List(value) 值进行合并,得到 形式,例如, 表明 Hello 单词出现过 5 次。
在 Partition 阶段,会把 Combine 的结果分发给不同的 Reduce 任务。Reduce 任务接收到所有分配给自己的中间结果以后,
就开始执行汇总计算工作,计算得到每个单词出现的次数并把结果输出到 HDFS 中。
处理过程处理过程
下面通过一个实例对单词计数进行更详细的讲解。
1)将文件拆分成多个分片。)将文件拆分成多个分片。
该实例把文件拆分成两个分片,每个分片包含两行内容。在该作业中,有两个执行 Map 任务的结点和一个执行 Reduce 任务
的结点。每个分片分配给一个 Map 结点,并将文件按行分割形成 对,如图 1 所示。这一步由 MapReduce 框架自动完成,其
中 key 的值为行号。
2)将分割好的)将分割好的 对交给用户定义的对交给用户定义的 Map 方法进行处理,生成新的方法进行处理,生成新的 对,如图对,如图 2 所示。所示。
图 1 分割过程
图 2 执行Map函数
3))在实际应用中,每个输入分片在经过 Map 函数分解以后都会生成大量类似 的中间结果,为了减少网络传输开销,框架会
把 Map 方法输出的 对按照 key 值进行排序,并执行 Combine 过程,将 key 值相同的 value 值累加,得到 Map 的最终输出结
果,如图 3 所示。
weixin_38559346
- 粉丝: 4
- 资源: 943
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0