There is a command line client written in ruby that is used as the standard. However, it doesn’t run in 1.9. There is also a very good aws-sdk for ruby, but it doesn’t support EMR. Is there a good alternative?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
UPDATE 6/22/2012: Amazon is reviewing @nkadwa’s pull request (see above). Keep an eye out for that.
I’ve been working with the Ruby command-line client, but have a number of Ruby/Rails based tools I build that require ruby 1.9.3. The workaround for me was RVM.
Let’s say you have
$HOME/projects/elastic-mapreducewhere you have the EMR Ruby clientLet’s say you also have
$HOME/projects/myprojYou can tell your system to use ruby-1.8.7 for EMR with:
If you need to call out to the elastic map-reduce scripts from somewhere, you can rig up RVM as such as the following. By default, elastic-mapreduce uses the credentials.json file in its same directory. Note that the first time you enter the directory, your system will verify that you are willing to trust the .rvmrc file.
Or, if you want to skip the ‘cd’ business, you can do something like:
You will need to follow the instructions on the RVM website to get it installed (quite straight forward). But it’s the perfect solution for when you need multiple versions of Ruby running. I have it running in production in EC2.
Hope that helps.