| | 51 | word counter 例子 |
| | 52 | mapper.rb |
| | 53 | {{{ |
| | 54 | #!/usr/bin/env ruby |
| | 55 | wordcount = Hash.new |
| | 56 | STDIN.each_line do |line| |
| | 57 | line.split.each do |word| |
| | 58 | wordcount[word] = wordcount[word].to_i+1 |
| | 59 | end |
| | 60 | end |
| | 61 | wordcount.each_pair do |word,count| |
| | 62 | puts "#{word}\t#{count}" |
| | 63 | end |
| | 64 | |
| | 65 | }}} |
| | 66 | |
| | 67 | reducer.rb |
| | 68 | {{{ |
| | 69 | #!/usr/bin/env ruby |
| | 70 | wordcount = Hash.new |
| | 71 | STDIN.each_line do |line| |
| | 72 | keyval = line.split("\t") |
| | 73 | wordcount[keyval[0]] = wordcount[keyval[0]].to_i+keyval[1].to_i |
| | 74 | end |
| | 75 | wordcount.each_pair do |word,count| |
| | 76 | puts "#{word}\t#{count}" |
| | 77 | end |
| | 78 | }}} |
| | 79 | |
| | 80 | 命令 |
| | 81 | {{{ |
| | 82 | hadoop jar /data/hadoop-1.0.3/contrib/streaming/hadoop-streaming-1.0.3.jar -input /dingxiang/work/liboutput/* -output /output -mapper mapper.rb -reducer reducer.rb -file ./mapper.rb -file ./reducer.rb |
| | 83 | }}} |