Amazon MapReduce输入拆分和下载



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

我的另一个问题可能看起来相对愚蠢,但是否有可能使用emr+流并在s3以外的地方输入?从CDN下载日志,然后上传到我的s3桶上运行mapreduce,这似乎是多余的。现在我已经将它们下载到我的服务器上,然后我的服务器将它们上传到s3,有没有一种方法可以省去中间人,让它直接上传到s3,或者从我的服务器上运行输入?

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

上工作。

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

我也一直在阅读,输入文件将不会被分割,除非他们是5gb,

绝对不是这样的。如果一个文件是可分割的,你有很多选择来分割它,例如配置mapred.max.split.size。我发现[1]很好地描述了可用的选项。

是否有可能使用emr+流并在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

最新更新