hadoop文档说明可以使用 -file 选项。如何使用elastic mapreduce ruby cli实现这一点?
-file
hfyxw5xn1#
你可以用这个 DistributedCache 用电子病历来做这个。对于ruby客户端,这可以通过以下选项完成:
DistributedCache
`--cache <path_to_file_being_cached#name_in_current_working_dir>`
它将一个文件放在 DistributedCache . 它允许您指定文件的位置(s3n或hdfs),后跟在应用程序的当前工作目录中引用的文件名,并将文件本地放置在由 mapred.local.dir (我想)。然后可以访问 Mapper / Reducer 轻松完成任务。我相信你可以直接访问它就像任何普通的文件,但你可能要做的事情如下 DistributedCache.getLocalCacheFiles(job); 在 setup 任务的方法。在ruby客户端中执行此操作的示例来自amazon的论坛:
mapred.local.dir
Mapper
Reducer
DistributedCache.getLocalCacheFiles(job);
setup
./elastic-mapreduce --create --stream --input s3n://your_bucket/wordcount/input --output s3n://your_bucket/wordcount/output --mapper s3n://your_bucket/wordcount/wordSplitter.py --reducer aggregate --cache s3n://your_bucket/wordcount/stop-word-list#stop-word-list
1条答案
按热度按时间hfyxw5xn1#
你可以用这个
DistributedCache
用电子病历来做这个。对于ruby客户端,这可以通过以下选项完成:
它将一个文件放在
DistributedCache
. 它允许您指定文件的位置(s3n或hdfs),后跟在应用程序的当前工作目录中引用的文件名,并将文件本地放置在由mapred.local.dir
(我想)。然后可以访问
Mapper
/Reducer
轻松完成任务。我相信你可以直接访问它就像任何普通的文件,但你可能要做的事情如下DistributedCache.getLocalCacheFiles(job);
在setup
任务的方法。在ruby客户端中执行此操作的示例来自amazon的论坛: