我需要计算跨越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个月的数据,所以要不惜一切代价避免下载。
答案 0 :(得分:0)
在没有GET和对象内容的情况下,没有任何方法可以分析S3中对象的内容。您可以启动一个或两个EC2实例并在那里进行处理,这样您就不必将数据复制到本地计算机。那肯定会更快。展望未来,只要将新文件上传到存储桶,您就可以使用AWS Lambda进行处理。但我还是不知道让Lambda处理S3中的所有现有对象。