搜索&在不下载文件的情况下计算s3存储桶中特定模式的总实例数

时间:2015-02-18 19:10:45

标签: amazon-s3 boto s3cmd

我需要计算跨越s3存储桶的匹配模式的行数。 我使用的命令是 - :

s3cmd ls --recursive s3://mys3.com/bucket1/ | awk '{print $4}' | grep '.lzo' | xargs -I@ s3cmd get @ - | zgrep 'my-pattern-of-interest-1' |  zgrep 'my-pattern-of-interest-2'|wc -l

但这仍然在物理上下载文件,是否有外部实用程序(例如boto),我仍然可以这样做,但是没有物理下载文件?我需要扫描4-5个月的数据,所以要不惜一切代价避免下载。

1 个答案:

答案 0 :(得分:0)

在没有GET和对象内容的情况下,没有任何方法可以分析S3中对象的内容。您可以启动一个或两个EC2实例并在那里进行处理,这样您就不必将数据复制到本地计算机。那肯定会更快。展望未来,只要将新文件上传到存储桶,您就可以使用AWS Lambda进行处理。但我还是不知道让Lambda处理S3中的所有现有对象。