有人可以让我知道从s3提取数据的有效方法是什么。基本上,我想提取给定时间范围内的数据,并对数据(JSON)应用一些过滤器,并将其存储在数据库中。我是AWS的新手,经过一点研究发现,我可以通过boto3 api,athena查询和aws CLI来完成此操作。但是我需要一些建议。
答案 0 :(得分:1)
如果您正在寻找最简单,最直接的解决方案,我建议您使用aws cli。非常适合运行命令从命令行或Shell脚本下载文件,列出存储桶等。
如果您正在寻找一种更健壮的解决方案并与您的应用程序集成,那么各种AWS SDKs都可以。与在应用程序中运行Shell命令相比,SDK具有更多的功能丰富的IMO,并且更加干净。
如果要提取数据的应用程序是用python编写的,那么我绝对推荐boto3。确保阅读boto3 client vs resource之间的区别。
答案 1 :(得分:1)
一些选项:
根据您的描述(10个文件,300MB,20万条记录),我建议从 Amazon Athena 开始,因为它提供了跨许多数据文件的友好SQL接口。首先在一个文件上运行查询(这使测试速度更快),然后在获得所需结果后,在所有数据文件上运行查询。