ruby来写hadoop的mapreduce,我用的方法是rubydoop。怎么配置环境呢:
1.安装rvm:
不说了 网上有
2.安装ruby:
由于我以前是做ruby的,所以习惯性的先安装了ruby,起码调试起来比jruby快多了。
3.安装jruby:
rvm install jruby然后等待安装完成
4.给编写mapreduce的目录设置默认的ruby版本和gemset:
进入到目标目录,执行rvm --create --ruby-version jruby-1.7.19@hadoop
生成两个文件.ruby-version和.ruby-gemset,一个是定义当前目录的默认ruby版本,一个是定义默认的gemset。
有了这两个文件已进入这个目录rvm自动帮你切换到jruby@hadoop,这样才能运行rubydoop。
5.编写代码:
需要说明的是目录结构必须是
├── Gemfile
├── lib
│ ├── word_count_job.rb
│ └── word_count.rb
└── Rakefile
如果没有需要安装的gem,则touch个空的Gemfile就好,所有的代码都放在lib目录下。
6.生成jar包:
rake package
7.用hadoop运行生成的jar包:
hadoop jar build/word_count.jar word_count_job path/to/input path/to/output