Amazon MapReduce输入拆分和下载

时间:2011-12-07 18:17:29

标签: amazon-s3 amazon-web-services elastic-map-reduce

我是EMR的新手,过去几天我一直在努力解决几个问题。第一个是我想要处理的日志已经压缩为.gz,我想知道这些类型的文件是否能够被emr拆分,以便多个映射器可以在文件上工作。另外我一直在阅读输入文件不会被拆分,除非它们是5gb,我的文件不是那么大,这是否意味着它们只会被一个实例处理?

我的另一个问题可能看起来相对愚蠢,但是有可能使用emr +流媒体并在s3之外的其他位置输入吗?从CDN下载日志,然后将它们上传到我的s3存储桶以运行mapreduce似乎是多余的。现在我将它们下载到我的服务器上然后我的服务器将它们上传到s3,有没有办法切断中间人并让它直接进入s3,或者从我的服务器上运行输入?

1 个答案:

答案 0 :(得分:3)

  

已经压缩为.gz,我想知道这些类型的文件是否能够被emr拆分,以便多个映射器可以在文件上工作

唉,不,直接的gzip文件不可拆分。一种选择是更频繁地滚动日志文件;这个非常简单的解决方案适用于某些人,虽然它有点笨拙。

  

此外,我一直在阅读输入文件不会被拆分,除非它们是5gb,

绝对不是这样。如果文件是可拆分的,则有很多关于如何拆分文件的选项,例如配置 mapred.max.split.size 。我发现[1]可以很好地描述可用的选项。

  

是否可以使用emr + streaming并在s3之外的其他位置输入?

是。 Elastic MapReduce现在支持VPC,因此您可以直接连接到CDN [2]

[1] http://www.scribd.com/doc/23046928/Hadoop-Performance-Tuning

[2] http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/EnvironmentConfig_VPC.html?r=146