Hadoop 将中间Amazon EMR任务输出写入S3

Hadoop 将中间Amazon EMR任务输出写入S3,hadoop,amazon-s3,amazon-emr,Hadoop,Amazon S3,Amazon Emr,我正在运行一个输出数千GB数据的EMR作业。每个map任务输出10s千兆字节的数据,据我所知,这些中间输出存储在运行map任务的机器上的磁盘上。因此,在同一台机器处理多个映射任务后,磁盘上存储这些映射任务中间结果的空间不足。我知道如何在S3上存储最终结果(在运行reducer之后),但是有没有办法将中间输出(映射器的结果)也存储在S3上 不幸的是,仅仅分配更多的机器(或具有更多内存的机器)并不是一个实际的解决方案,因为我将在数百TB的数据上运行相同的作业 任何帮助都将不胜感激。如果其他人遇到此问

我正在运行一个输出数千GB数据的EMR作业。每个map任务输出10s千兆字节的数据,据我所知,这些中间输出存储在运行map任务的机器上的磁盘上。因此,在同一台机器处理多个映射任务后,磁盘上存储这些映射任务中间结果的空间不足。我知道如何在S3上存储最终结果(在运行reducer之后),但是有没有办法将中间输出(映射器的结果)也存储在S3上

不幸的是,仅仅分配更多的机器(或具有更多内存的机器)并不是一个实际的解决方案,因为我将在数百TB的数据上运行相同的作业


任何帮助都将不胜感激。

如果其他人遇到此问题,我无法找到使用S3存储映射/减少任务中间结果的方法。但是,我可以通过升级到EMR 4.x绕过这个问题,然后将EBS卷连接到集群实例,如本文所述。

如果其他人遇到这个问题,我无法找到使用S3存储映射/减少任务的中间结果的方法。但是,通过升级到EMR 4.x,然后将EBS卷连接到集群实例,我能够绕过这个问题,如这里所述