我在 S3 上有一个 17.7GB 的文件。它是作为 Hive 查询的输出生成的,并且未压缩。
我知道通过压缩它,它大约是 2.2GB (gzip)。当传输成为瓶颈(250kB/s)时,如何尽快在本地下载此文件。
我没有找到任何直接的方法来压缩 S3 上的文件,或者在 s3cmd、boto 或相关工具中启用传输压缩。
我在 S3 上有一个 17.7GB 的文件。它是作为 Hive 查询的输出生成的,并且未压缩。
我知道通过压缩它,它大约是 2.2GB (gzip)。当传输成为瓶颈(250kB/s)时,如何尽快在本地下载此文件。
我没有找到任何直接的方法来压缩 S3 上的文件,或者在 s3cmd、boto 或相关工具中启用传输压缩。
S3 不支持流压缩,也无法远程压缩上传的文件。
如果这是一次性过程,我建议将其下载到同一区域的 EC2 机器上,在那里压缩,然后上传到您的目的地。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html
如果你需要这个更频繁
迟到的答案,但我发现这工作得很好。
aws s3 sync s3://your-pics .
for file in "$(find . -name "*.jpg")"; do gzip "$file"; echo "$file"; done
aws s3 sync . s3://your-pics --content-encoding gzip --dryrun
这会将 s3 存储桶中的所有文件下载到机器(或 ec2 实例),压缩图像文件并将它们上传回 s3 存储桶。在删除空运行标志之前验证数据。