使文件在elasticmapreduce上本地可用

7ajki6be  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(327)

hadoop文档说明可以使用 -file 选项。
如何使用elastic mapreduce ruby cli实现这一点?

hfyxw5xn

hfyxw5xn1#

你可以用这个 DistributedCache 用电子病历来做这个。
对于ruby客户端,这可以通过以下选项完成:

`--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的论坛:

./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

相关问题