压缩S3上的文件

时间:2013-01-24 06:24:53

标签: amazon-s3 compression hive file-transfer emr

S3上有一个17.7GB的文件。它是作为Hive查询的输出生成的,并且未被压缩。

我知道通过压缩它,它将是大约2.2GB(gzip)。当传输是瓶颈(250kB / s)时,如何在本地下载此文件。

我没有找到任何直接的方法来压缩S3上的文件,或者在s3cmd,boto或相关工具中启用传输压缩。

3 个答案:

答案 0 :(得分:19)

S3不支持流压缩,也无法远程压缩上传的文件。

如果这是一次性过程,我建议将其下载到同一地区的EC2机器,在那里压缩,然后上传到目的地。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html

如果您需要更频繁

Serving gzipped CSS and JavaScript from Amazon CloudFront via S3

答案 1 :(得分:7)

迟到的答案,但我发现这很有效。

CC

这会将s3存储桶中的所有文件下载到计算机(或ec2实例),压缩图像文件并将其上传回s3存储桶。 在删除dryrun标志之前验证数据。

答案 2 :(得分:0)

现在在 Lambda 中有预构建的应用程序,您可以使用它们来压缩 S3 存储桶中的图像和文件。因此,只需创建一个新的 Lambda 函数并选择您选择的预构建应用并完成配置。

  1. 第 1 步 - 创建一个新的 Lambda 函数
  2. 第 2 步 - 搜索预构建的应用 enter image description here
  3. 第 3 步 - 选择适合您需求的应用程序,并通过提供 S3 存储桶名称来完成配置过程。 enter image description here