Hadoop中的Word Count例子到底是怎么回事?
来源:互联网 发布:windows xp更新包 编辑:程序博客网 时间:2024/04/28 07:24
1. 不管是国外还是国内,一提到Hadoop的入门程序,第一个一定会是WordCount,就是给你一堆文件,让你计算出文件中出现的单词的个数;
2. 他们一般给出的程序如下:
Map:
import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.io.Writable;import org.apache.hadoop.io.WritableComparable;import org.apache.hadoop.mapred.MapReduceBase;import org.apache.hadoop.mapred.Mapper;import org.apache.hadoop.mapred.OutputCollector;import org.apache.hadoop.mapred.Reporter;public class WordCountMapper extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> { private final IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(WritableComparable key, Writable value, OutputCollector output, Reporter reporter) throws IOException { String line = value.toString(); StringTokenizer itr = new StringTokenizer(line.toLowerCase()); while(itr.hasMoreTokens()) { word.set(itr.nextToken()); output.collect(word, one); } }}
Reduce:
import java.io.IOException;import java.util.Iterator;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.io.WritableComparable;import org.apache.hadoop.mapred.MapReduceBase;import org.apache.hadoop.mapred.OutputCollector;import org.apache.hadoop.mapred.Reducer;import org.apache.hadoop.mapred.Reporter;public class WordCountReducer extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(Text key, Iterator values, OutputCollector output, Reporter reporter) throws IOException { int sum = 0; while (values.hasNext()) { IntWritable value = (IntWritable) values.next(); sum += value.get(); // process value } output.collect(key, new IntWritable(sum)); }}3. 但是没有解释为什么在Map中使用的是值为1的IntWritable,我google了一段时间,找到下面两个图,应该可以很好的解释了这个问题。
The MapReduce workflow
The MapReduce workflow
The MapReduce workflow
The word count flow:
refs:
http://blog.gopivotal.com/pivotal/products/hadoop-101-programming-mapreduce-with-native-libraries-hive-pig-and-cascading
http://kickstarthadoop.blogspot.de/2011/04/word-count-hadoop-map-reduce-example.html
https://developer.yahoo.com/hadoop/tutorial/
0 0
- Hadoop中的Word Count例子到底是怎么回事?
- Hadoop AWS Word Count 例子
- c++中的引用到底是怎么回事。
- hadoop word count example
- Word Count on hadoop
- 内存中的堆与栈到底是怎么回事?
- 计算机网络中的TCP/UDP协议到底是怎么回事
- 【spark】spark word count例子
- hadoop php streming word count
- hadoop word count 学习总结
- 集合中的元素无故被擅改,到底是怎么回事
- 计算机网络中的TCP/UDP协议到底是怎么回事(一)
- 计算机网络中的TCP/UDP协议到底是怎么回事(二)
- 计算机网络中的TCP/UDP协议到底是怎么回事(一)
- 计算机网络中的TCP/UDP协议到底是怎么回事(二)
- 机器学习中的End-to-End到底是怎么回事?
- Dual表到底是怎么回事
- 炒股到底是怎么回事?
- 对不起,请将php.ini中的short_open_tag设置为On,否则无法继续安装论坛。
- jQuery—— jQuery get方法+一般处理程序处理文本框内容
- 关于JDBC封装的一些自己的建议
- Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)
- extern “C"的作用
- Hadoop中的Word Count例子到底是怎么回事?
- 快速获取MAC地址的命令
- Linux .bin安装文件制作
- shell中的"2>&1"是什么意思?
- 新时尚Windows8开发:ListBox与ComboBox
- js刷新百度搜索为站内搜索
- hdu-1596 find the safest road
- OCP 1Z0 051 144
- mybatis collection 对象自身关联