首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >S3文件在EMR上的最佳文件大小?

S3文件在EMR上的最佳文件大小?
EN

Stack Overflow用户
提问于 2016-11-04 06:17:13
回答 1查看 4.5K关注 0票数 2

我试图确定存储在S3中的文件的理想大小,该文件将用于EMR上的Hadoop作业。

目前,我有大约5-10的大文本文件。我担心将这些大型文件复制到HDFS以运行MapReduce作业的延迟。我可以选择让这些文件变小。

我知道当在S3作业中使用S3作为输入目录时,MapReduce文件是与HDFS并行复制的。但是,是使用单个线程将单个大文件复制到HDFS,还是将该文件作为多个部分并行复制?此外,Gzip压缩是否会影响复制多个部分中的单个文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-04 07:01:13

有两个因素需要考虑:

  • 压缩文件不能在任务之间拆分。例如,如果您有一个单一的、大的、压缩的输入文件,那么只有一个Mapper可以读取它。
  • 使用更多的,较小的文件使并行处理更容易,但是在为每个文件启动Map/Reduce作业时,会增加的开销。所以,更少的文件会更快。

因此,在文件的大小和数量之间存在一个权衡。推荐的尺寸在以下几个地方列出:

亚马逊EMR常见问题建议:

如果使用GZIP,请将文件大小保持为1-2 GB,因为GZIP文件不能分割。

Amazon EMR白皮书的最佳实践建议:

这意味着一个映射器(一个线程)负责从Amazon获取数据。由于单个线程仅限于在任何给定时间(吞吐量)从Amazon中提取多少数据,将整个文件从AmazonS3读取到映射程序的过程成为数据处理工作流中的瓶颈。另一方面,如果您的数据文件可以拆分,多个映射程序可以处理您的文件。这样的数据文件的合适大小是在2GB到4GB之间。

其主要目标是通过并行处理尽可能多的文件来保持所有节点的忙碌,而不引入太多的开销。

继续使用压缩。节省的磁盘空间和数据传输时间使它比启用分裂更有利。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40416440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档