【发布时间】:2014-11-11 01:03:25
【问题描述】:
我遇到以下错误:
Error: undefined method `each' for "s3n://dico-count-words/Cache/dicoClazz.p#dicoClazzCache.p":String
当我运行以下命令行通过 elastic-mapreduce 在 Amazon EMR 集群上启动 mapreduce 算法时,指定一个分布式缓存文件:
./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
我按照我找到的here 的说明进行操作。 我在运行类似命令来创建不需要分布式缓存文件的其他集群时没有任何问题。我还设法使用 AWS 控制台运行了这项工作。但我更愿意通过 CLI 来完成。 我认为这可能是类似于this one 的红宝石问题。但我对红宝石一无所知,所以这只是一个猜测。这也是我第一次使用 AWS 和 elastic-mapreduce。 供您参考,这是我拥有的 ruby 版本:
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
您对错误的来源有任何想法吗?有什么建议可以解决吗?
非常感谢。
【问题讨论】:
标签: ruby amazon-web-services elastic-map-reduce