如何用ruby来写hadoop的mapreduce并生成jar包

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

你可能感兴趣的