Amazon Elastic Map Reduce:输入片段大小重要吗

发布于 2024-11-18 21:21:35 字数 162 浏览 2 评论 0原文

鉴于我需要使用 10 个实例处理 20 GB 的输入。 10 个 2Gb 输入文件与 4 个 5Gb 输入文件有何不同? 在后一种情况下,Amazon Elastic MapReduce 是否可以自动在 10 个实例之间分配 4 个输入文件的负载? (我使用流方法,因为我的映射器是使用 ruby​​ 编写的)

Given I need to process input of 20 Gb with the use of 10 instances.
Is it different to have 10 input files of 2Gb compare to 4 input files of 5Gb?
In latter case, can Amazon Elastic MapReduce automatically distribute load of 4 input files across 10 instances? (I'm using Streaming method as my mapper is written using ruby)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

女皇必胜 2024-11-25 21:21:35

唯一重要的是文件是否可拆分。

如果文件是未压缩的纯文本或使用 lzo 压缩,那么 Hadoop 将进行分割。

x5 2gb 文件将导致约 100 个拆分,因此约 100 个映射任务(10gb / 128mb(EMR 块大小)~= 100)

x10 1gb 文件将再次导致约 100 个拆分,因此又会导致 100 个映射任务。

如果文件是 gzip 或 bzip2 压缩的,那么 Hadoop(至少在 EMR 上运行的版本)将不会拆分文件。

x5 2gb 文件将仅导致 5 个分割(因此只有 5 个映射任务)

x10 1gb 文件将仅导致 10 个分割(因此只有 10 个映射任务

The only thing that matters is whether the files are splittable.

If the files are uncompressed plain text or compressed with lzo then Hadoop will sort out the splitting.

x5 2gb files will result in ~100 splits and hence ~100 map tasks (10gb / 128mb (EMR blocksize) ~= 100)

x10 1gb files will result in again ~100 splits and hence, again, 100 map tasks.

If the files are gzip or bzip2 compressed then Hadoop (at least, the version running on EMR) will not split the files.

x5 2gb files will result in only 5 splits (and again hence only 5 map tasks)

x10 1gb files will result in only 10 splits (and again hence only 10 map tasks)

Mat

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文