Word Count (Map Reduce)

来源:互联网 发布:备案域名交易平台top 编辑:程序博客网 时间:2024/06/05 11:26

Using map reduce to count word frequency.

java

/** * Definition of OutputCollector: * class OutputCollector<K, V> { *     public void collect(K key, V value); *         // Adds a key/value pair to the output buffer * } */public class WordCount {    public static class Map {        public void map(String key, String value, OutputCollector<String, Integer> output) {            // Write your code here            // Output the results into output buffer.            // Ps. output.collect(String key, int value);            StringTokenizer tokenizer = new StringTokenizer(value);            while (tokenizer.hasMoreTokens()) {                String word = tokenizer.nextToken();                output.collect(word, 1);            }        }    }    public static class Reduce {        public void reduce(String key, Iterator<Integer> values,                           OutputCollector<String, Integer> output) {            // Write your code here            // Output the results into output buffer.            // Ps. output.collect(String key, int value);            int sum = 0;            while (values.hasNext()) {                sum += values.next();            }            output.collect(key, sum);        }    }}


原创粉丝点击