AWS EMR S3DistCp 的性能问题



我在 EMR 集群上使用 S3DistCp 来聚合大约 200K 个小文件(总共 3.4GB(从一个 S3 存储桶到同一存储桶中的另一个路径。它正在工作,但速度非常慢(超过 600 分钟后传输约 20MB(。

这是我的 EMR 配置:

1 master m5.xlarge
3 cores m5.xlarge
release label 5.29.0

命令:

s3-dist-cp --s3Endpoint=s3-eu-central-1.amazonaws.com --src=s3://my-bucket/input/ --dest=s3://my-bucket/output/ --groupBy=.*input/(entry).*(.json.gz) --targetSize=128

我错过了什么吗?我已经读过S3DistCp可以在眨眼间传输很多文件,但我不知道如何传输。顺便说一下,EMR 和存储桶都位于同一区域。

谢谢。

以下是建议

  1. 使用 R 类型实例。与 M 类型实例相比,它将提供更多内存
  2. 使用合并来合并源中的文件,因为您有许多小文件
  3. 检查映射器任务的数量。任务越多,性能越差

最新更新