MapReduce 应用案例分析 - 单词计数

需求

  计算出文件中每个单词的频数。要求输出结果按照单词的字母顺序进行排序。每个单词和其频数占一行,单词和频数之间有间隔。

  比如,输入一个文件,其内容如下:

  hello world

  hello hadoop

  hello mapreduce

  对应上面给出的输入样例,其输出样例为:

  hadoop 1

  hello 3

  mapreduce 1

  world 1

方案制定

  对该案例,可设计出如下的MapReduce方案:

  1. Map阶段各节点完成由输入数据到单词切分的工作

  2. shuffle阶段完成相同单词的聚集再到分发到各个Reduce节点的工作 (shuffle阶段是MapReduce的默认过程)

  3. Reduce阶段负责接收所有单词并计算各自频数

小结

  WordCount是一个很经典的Hadoop示例,它虽然简单,但具有很大的代表性。

  从某个程度上来说也反映了其设计的初衷,对日志文件的分析。

时间: 2024-12-29 07:21:20

MapReduce 应用案例分析 - 单词计数的相关文章

大数据学习之MapReduce编程案例一单词计数 10

一:单词计数 1:单词计数总流程图 2:代码实现 1:Map阶段 package it.dawn.YARNPra.wc_hdfs; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapp

大数据【四】MapReduce(单词计数;二次排序;计数器;join;分布式缓存)

   前言: 根据前面的几篇博客学习,现在可以进行MapReduce学习了.本篇博客首先阐述了MapReduce的概念及使用原理,其次直接从五个实验中实践学习(单词计数,二次排序,计数器,join,分布式缓存). 一 概述 定义 MapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE).这样做的好处是可以在任务被分解后,可以通过大量机器进行并行计算,减少整个操作的时间. 适用范围:数据量大,但是数据种类小可以放入内存. 基

MapReduce之单词计数

最近在看google那篇经典的MapReduce论文,中文版可以参考孟岩推荐的 mapreduce 中文版 中文翻译 论文中提到,MapReduce的编程模型就是: 计算利用一个输入key/value对集,来产生一个输出key/value对集.MapReduce库的用户用两个函数表达这个计算:map和reduce. 用户自定义的map函数,接受一个输入对,然后产生一个中间key/value对集.MapReduce库把所有具有相同中间key I的中间value聚合在一起,然后把它们传递给reduc

【Hadoop基础教程】5、Hadoop之单词计数

单词计数是最简单也是最能体现MapReduce思想的程序之一,可以称为MapReduce版"Hello World",该程序的完整代码可以在Hadoop安装包的src/example目录下找到.单词计数主要完成的功能:统计一系列文本文件中每个单词出现的次数,如下图所示.本blog将通过分析WordCount源码来帮助大家摸清MapReduce程序的基本结构和运行机制. 开发环境 硬件环境:Centos 6.5 服务器4台(一台为Master节点,三台为Slave节点) 软件环境:Jav

个人作业2--英语学习APP案例分析

我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信.QQ,等等都是软件,都很值得分析.你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么?通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好. 第一部分 调研, 评测 1.下载并使用,描述最简单直观的个人第一次上手体验 . 整体来说,界面还是比较美观的,最大的优点应该就是没有植入广告了.而且分块也比较明

个人博客作业Week2(微软必应词典客户端的案例分析)

提要:我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信微博,等等都是软件,都很值得分析. 你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么? 通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现. 产品:必应词典客户端 (http://bing.msn.cn/dict/) 关于 微软必应词典客户端 的案例分析 (桌面版 version 3.5.0) 第一部分 调研,评测 调研 1)采访对

微软必应词典案例分析

1.微软必应词典案例分析 1.1微软必应词典功能性BUG说明 声明:以下版本和运行环境如下: 运行环境:Android 5.0.2 LRX22G MIUI 8.0.1.0(LHMCNDG) 必应词典软件版本:5.2.2 1.1.1:BUG-1-悬浮窗错误弹出 软件测试BUG特征 与其他软件存在使用冲突 重现步骤 0.安装讯飞输入法1.打开必应词典->我的->设置->勾选悬浮窗口->打开微信->在对话框中输入讯飞输入法自带的emoji表情,例如破涕为笑 测试结果 弹出“本地暂无

个人作业-Week2 案例分析

微软必应词典客户端的案例分析 第一部分 调研,评测 1)bug: 1.必应词典iOS版,学习界面中的经典词库出国考试(GM)和出国考试(T)一直加载不出来. 2.必应词典iOS版,拍照翻译功能十分耗时,有时需要一分多钟,且中间不能打断,不能够指定需要翻译的位置,基本没有正确的返回结果. 2)采访对象背景 北航计算机学院大三学生 学英语的目的:准备GRE考试,提高自己的英语水平 具体的需求是:增加直接在浏览器中进行查词的功能,因为想查询一个词需要切到主页然后再进入到必应词典的过程比较麻烦且耗时.

个人作业-Week2:案例分析

截止时间:2016年9月25日24:00. 很多同学有误解,软件工程课是否就是理论课?或者是几个牛人拼命写代码,其他人打酱油的课?要不然就是学习一个程序语言,搞一个职业培训的课? 都不对, 软件工程有理论,有实践,更重要的是分析,思辨,总结.在课程中,自己组织团队写一个软件,然后分析,的确是学习软件工程的一个好方法:但我们也可以从别人的成功/失败中学到很多. 我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信微博,等等都是软件,都很值得分析. 你为