一个单词统计的实例,怎样通过MapReduce完成排序?
来源:互联网 发布:java 时间转换 毫秒 编辑:程序博客网 时间:2024/05/16 08:44
假设有一批海量的数据,每个数据都是由26个字母组成的字符串,原始的数据集合是完全无序的,怎样通过MapReduce完成排序工作,使其有序(字典序)呢?
对原始的数据进行分割(Split),得到N个不同的数据分块:
实例分析:WordCount
这个类实现Mapper接口中的map 方法,输入参数中的value 是文本文件中的一行,利用StringTokenizer将这个字符串拆成单词,然后将输出结果<单词,1> 写入到org.apache.hadoop.mapred.OutputCollector中。
实现Reduce 类
这个类实现Reducer 接口中的reduce 方法, 输入参数中的key, values 是由Map 任务输出的中间结果,
values 是一个Iterator, 遍历这个Iterator, 就可以得到属于同一个key 的所有value。
此处,key是一个单词,value 是词频。只需要将所有的value 相加,就可以得到这个单词的总的出现次数。
运行Job
在Hadoop中一次计算任务称之为一个job, 可以通过一个JobConf对象设置如何运行这个job。
然后将JobConf对象作为参数,调用JobClient的runJob, 开始执行这个计算任务。
实验结果
对原始的数据进行分割(Split),得到N个不同的数据分块:
实例分析:WordCount
这个类实现Mapper接口中的map 方法,输入参数中的value 是文本文件中的一行,利用StringTokenizer将这个字符串拆成单词,然后将输出结果<单词,1> 写入到org.apache.hadoop.mapred.OutputCollector中。
实现Reduce 类
这个类实现Reducer 接口中的reduce 方法, 输入参数中的key, values 是由Map 任务输出的中间结果,
values 是一个Iterator, 遍历这个Iterator, 就可以得到属于同一个key 的所有value。
此处,key是一个单词,value 是词频。只需要将所有的value 相加,就可以得到这个单词的总的出现次数。
运行Job
在Hadoop中一次计算任务称之为一个job, 可以通过一个JobConf对象设置如何运行这个job。
然后将JobConf对象作为参数,调用JobClient的runJob, 开始执行这个计算任务。
实验结果
阅读全文
0 0
- 一个单词统计的实例,怎样通过MapReduce完成排序?
- 【MapReduce实例】单词统计
- 通过BitSet完成对单词使用字母的统计
- Mapreduce实例---统计单词个数(wordcount)
- MapReduce 单词统计编程
- python MapReduce单词统计
- mapreduce的一个实例
- 一个统计单词的程序
- nyoj 286 动物统计 【sort排序(统计最多相同单词的个数,不止一个)】
- Akka MapReduce 去停词单词统计
- 利用mapreduce统计单词个数
- 简单的单词个数统计的mapreduce 的代码实现
- MapReduce之单词(字母)个数的统计
- 通过MapReduce统计每个单子在每个文件中出现的次数(FileSplit的使用),单词作为key,所在文本和次数作为value进行统计
- MapReduce的TopK统计加排序
- 利用MapReduce的java编程接口完成数据的统计
- MapReduce实例----统计个数
- 统计一个文件的单词的个数
- 欢迎使用CSDN-markdown编辑器
- 19:A*B问题
- Batch Normalization导读
- Linux中创建程序的快捷方式,分软链接和硬链接两种
- 爱加密,梆梆,360加固初比较
- 一个单词统计的实例,怎样通过MapReduce完成排序?
- Docs » Logs » Diagnosing problems using Logs
- MFC 控件添加ToolTip
- 开源许可协议GPL、APL、BSD、LGPL、MIT
- string的find操作
- flex-grow、flex-shrink、flex-basis详解
- hibernate概述及基础知识
- cnanot find xxxx.so 异常的解决方案
- 如何针对产品销售设计一套有效的奖励和惩罚销售措施?