Amazon Elastic MapReduceWebサービスを呼び出すRubyのクライアントライブラリがAWSで公開されてる。
Amazon Elastic MapReduce Ruby Client : Developer Tools : Amazon Web Services
まず、セットアップ。
- ↑のサイトからelastic-mapreduce-ruby.zipをDLし、適当な場所に解凍する。
- 解凍したディレクトリにパスを通す。
- パスを通したディレクトリの直下にcredentials.jsonというファイルを作成し、以下のようにAWSにアクセスするための認証情報をJSON形式で定義する。
{ "access_id": "AWSへのAccessキーIDを定義", "private_key": "AWSへのSecretAccessキーIDを定義", "keypair": "EC2のマスターノードに適用しているKeyPair名を定義", "log_uri": "JOBのログを格納するS3のバケットを指定。(例:s3://mybucket/logs)" "region": "Jobを起動したいRegionを定義" }
全てのリクエストにおいて、このcredentials.jsonの内容が使用される。異なるファイル名の認証情報利用する場合は、-cオプションでjsonファイルを指定できる模様。
$ ruby elastic-mapreduce -c ”任意の認証情報を定義したjsonファイル” --list
あとは、elastic-mapreduce使って、ジョブの作成や実行などなどできる模様。