压缩S3上的文件

Mat*_*ner 23 compression hive amazon-s3 file-transfer emr

我在S3上有一个17.7GB的文件.它是作为Hive查询的输出生成的,并且未进行压缩.

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

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

Mic*_*eim 23

S3不支持流压缩,也不能远程压缩上传的文件.

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

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

如果你更频繁地需要这个

通过S3从Amazon CloudFront提供gzip CSS和JavaScript

  • 仍然如此,您不能在s3上就地修改文件。您可以将压缩文件流式传输到s3中,并在读取后压缩输出 (3认同)

Nav*_* Pk 9

迟到的答案,但我发现这完美.

aws s3 sync s3://your-pics .

for i in `find | grep -E "\.jpg$|\.jpg$"`; do gzip  "$i" ; echo $i;  done

aws s3 sync . s3://your-pics --content-encoding gzip --dryrun
Run Code Online (Sandbox Code Playgroud)

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