gpt4 book ai didi

Hadoop - 如何提高我的案例的性能?

转载 作者:可可西里 更新时间:2023-11-01 16:59:23 25 4
gpt4 key购买 nike

目前我使用 AWS-EMR 作为集群。对于库,我使用级联。

输入数据存储在 aws S3 的一个目录中。该目录包含许多文件,每个文件大约 100mb(未压缩,纯文本),每天文件数量很容易达到 100 个。每个文件的文件名都包含一个日期。在一天结束时,我会处理当天生成的所有文件。

目前我的hadoop应用流程是这样的:

  • 使用 GlobHfs 将 S3 文件夹用作输入点击
  • GlobHFS 有一个自定义过滤器,它过滤文件名并且只接受今天的文件
  • 仅处理过滤后的文件并将输出抽头设置为 S3。

我的问题:

  • 我应该使用压缩吗?如果是这样,我应该使用什么压缩类型?我读到 .gz 压缩使得只有一个映射器可以完成这项工作,在我的情况下文件夹有很多文件,这是否相关?我应该对每个文件使用 LZO 吗?
  • 我应该存储更大的文件,还是当前格式(许多较小的文件)足够好?

最佳答案

压缩将有助于减少网络数据流。 LZO 压缩更适合 MR 作业。但是由于您的文件存储在 S3 而不是 HDFS 中,因此无论使用何种压缩方式,每个文件都将由映射器处理。据我所知, block 大小不适用于 S3。

这里的一个建议是在您的存储桶下创建 key ,其中每个 key 对应一个日期。这将加速输入过滤。例如//

用于 EMR 集群的节点类型可能是文件大小的决定因素之一。如果节点是像 r3.8xlarge 这样的高效节点,那么输入文件的大小可能会更大。另一方面,如果它是 m1.medium 文件大小必须很小才能正确使用您的集群。

关于Hadoop - 如何提高我的案例的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26399415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com