I've got the following error:
Error: undefined method `each' for "s3n://dico-count-words/Cache/dicoClazz.p#dicoClazzCache.p":String
When I run the following command line to launch a mapreduce algorithm on Amazon EMR cluster via elastic-mapreduce, specifying a distributed cache file:
./elastic-mapreduce --create --stream \
> --input s3n://dico-count-words/Words \
> --output s3n://dico-count-words/Output \
> --mapper s3n://dico-count-words/Code/mapper.py \
> --reducer s3n://dico-count-words/Code/reducer.py \
> --log-uri s3n://dico-count-words/Logs \
> --cache s3n://dico-count-words/Cache/dicoClazz.p#dicoClazz.p
I followed the instructions I found here. I haven't had any issue running similar commands to create others clusters which didn't need distributed cache file. I have also managed to run this very job using the AWS console. But I would prefer to do it via the CLI. I think it might be an issue with ruby similar to this one. But I don't know aything about ruby so it's just a guess. It's also the first time that I use AWS and so elastic-mapreduce. For your information, this is the version of ruby I have:
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Do you have any ideas about where that error is coming from? Any suggestions to fix it?
Many thanks.